我正在开发一个与遗留数据库接口的应用程序,该数据库具有用于单表继承的类型列。该数据库仍被现有的 PHP 应用程序使用,因此我必须使用现有的数据库。我正在尝试为此设置一些模型,其中一个关键表设置有 STI 方案和类型列,但是,该列中的所有类型都是完全小写的。
到目前为止,在我的测试中,如果我更改值以匹配类名(例如,Claimant 而不是 Claimant),rails 可以很好地处理 type 列。但是,即使可能没问题,我也不想更改生产数据库中的这些值,也不想进入并修改旧版应用程序以不同方式保存名称...
为了解决这个问题,我有两个问题......
1)无论如何我可以配置模型来识别type ='claimant'映射到class ='Claimant'吗?
2)如果失败了,有没有办法告诉rails不要在这个表上使用STI,即使它有一个类型列?
我已经做了一些谷歌搜索,但还没有想出很多......