我想知道如何在多对多关系中添加其他属性。 我有两种模式,分享多对多的关系,公司和职业。
许多专业人士可能属于公司
所以我的公司模型如下所示
class Company < ActiveRecord::Base
has_and_belongs_to_many :professions
end
同一职业的同一人也可以属于多家公司 所以
class Profession < ActiveRecord::Base
has_and_belongs_to_many :companies
end
现在我需要将每小时的费率与同一职业的每家公司联系起来。我不太确定在哪里介绍小时房价?即使我要将其添加到连接表中,如何使用活动记录访问该速率?
答案 0 :(得分:1)
这是通过over habtm选择has_many的典型场景。通常,如果您只需要关联两个模型,则不需要在关联中存储其他信息,请使用habtm。在大多数情况下,您必须使用has_many。你的情况属于这种情况。
您希望在与Profession
和Company
相关联的表格中保存每小时费率。如果您有要迁移的现有数据,则可能需要查看此帖子How to migrate has_and_belongs_to_many to has_many through?。如果你可以删除用于habtm关联的连接表,只需删除它并创建一个新表。