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