没有外键的has_one关联?

时间:2013-12-06 13:17:25

标签: ruby-on-rails

我有SupplierRole这样的模型 供应商应该有一个角色,一个角色可能属于多个供应商,
所以我不想将外键添加到角色模型中 我不想在开始时创建所有角色,然后在我想要的时候向供应商添加角色  有没有办法做到这一点??

1 个答案:

答案 0 :(得分:2)

这种情况下的外键需要进入Supplier。如果Role可以属于许多供应商,则无法将其放入Role

这使得Rails惯例成为belongs_to关系,而不是has_one

您的Supplier需要一个名为role_id的列和一个关联belongs_to :role。如果您希望能够找到使用给定角色的所有供应商,则Role可以拥有has_many :suppliers