rails如何通过关联保存带有has_many的模型

时间:2013-05-14 07:37:54

标签: ruby-on-rails activerecord has-many-through

我有像

这样的模特
// Contains the details of Parties (Users)
class Party < ActiveRecord::Base
 has_many :party_races
 has_many :races, :through=>:party_races
end

// Contains the party_id and race_id  mappings
class PartyRace < ActiveRecord::Base
 belongs_to :party
 belongs_to :race
end

// Contains list of races like Asian,American,etc..
class Race < ActiveRecord::Base
 has_many :party_races
 has_many :parties, :through => :party_races
end

现在,让我说我正在创建一个Party的实例 party_instance = Party.new

我应该如何向party_instance添加多个种族并保存到数据库?

2 个答案:

答案 0 :(得分:0)

您可以使用嵌套属性制作一个允许孩子的表单。这个网站上有很多例子。首先阅读以下内容:

答案 1 :(得分:0)

您还可以为可以添加的每个种族创建新的PartyRace:

def addRace( party_instance, new_race )
  party_race = PartyRace.new( party: party_instance, race: new_race )
  party_race.save
end