_categoriesI尝试使用Activerecord重新创建一些遗留数据库关系。我是一个Activerecord新手,顺便说一下我解决了所有问题,直到现在除了一些关键不是ID的关联。
我有两张桌子:
产品
DataCategory
此处的关联由" type"和"树":如何与ActiveRecord创建此关联?
我尝试:
has_many :data_categories, foreign_key: 'type', primary_key: 'tree'
但它不起作用
答案 0 :(得分:1)
我认为你需要像这样反向foreign_key和primary_key:
has_many :data_categories, foreign_key: 'tree', primary_key: 'type'
希望有所帮助
答案 1 :(得分:0)
'type'和'tree'中存储了什么?外键是DataCategory上的数据库字段,它包含产品的唯一ID。主键是Product上包含该唯一ID的数据库字段。默认情况下,它们分别是product_id和id。在您的情况下,假设'tree'包含产品ID,它将是
has_many :data_categories, foreign_key: 'tree'
没有必要指定主键,因为您似乎使用默认的'id'