1

可以说我有一个名为的模型 Building和另一个名为的模型Issue

Issue belongs_to Building

Building has_many Issues

我有多个Buildings,有很多Issues。现在,我必须一次将每个问题添加到每个建筑物中。

如何同时添加Issue一个Buildings

4

1 回答 1

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
于 2013-07-30T23:45:38.590 回答