假设我有一个名为Building
的模型和另一个名为Issue
的模型。
Issue
belongs_to
Building
Building
has_many
Issues
我有多个Buildings
,有许多Issues
。现在,我必须一次将每个问题添加到每个建筑物中。
如何同时向所有Issue
添加一个Buildings
?
答案 0 :(得分:3)
似乎在两个模型中都需要has_and_belongs_to_many
关系。并为此创建一个表:
rails g migration create_buildings_issues building_id:integer issue_id:integer
编辑迁移以删除自动索引并添加复合索引:
create_table :buildings_issues, index: false do |t|
t.references :building
t.references :issue
end
add_index :buildings_issues, [:building_id, :issue_id]
然后在DB中创建此表:
rake db:migrate
然后您可以向多个建筑物添加问题:
any_issue.buildings << Building.all
或者向任何建筑物添加问题:
any_building.issues << heat_issue