我的情况Project
可能有很多Tags
(反之亦然),所以我在两者之间建立了has_and_belongs_to_many
关系。
我的问题是:我需要一个能够携带一个当前标签的项目。
我可以在项目表中添加tag_id
吗?如果已经存在`projects_tags'模型,我该如何正确建立关系呢?
我认为让projects_tags模型带有一个布尔current
字段是没有效果的,因为在实践中需要额外的查询才能找到正确的关系。我把它扔出去作为我考虑过的替代方案。
答案 0 :(得分:0)
您可以使用以下内容:
class Project < ActiveRecord::Base
belongs_to :current_tag, :class_name => Tag
end
然后在current_tag_id
表中添加projects
。
您无法将current
添加到projects_tags
,因为它在技术上不是模型:它只是一个连接表。您必须合并另一个模型并使用has_many :through
这样做。