我无法弄清楚如何通过名为players_rosters的HABTM关系在玩家和名单之间建立关系,但在我的控制台中如何使用属性创建两者之间的关系。
Players_rosters由roster_id和player_id组成。这种关系有效,但我如何创建与手动属性的关联。
r = Roster.find(1)
r.create(:player_id => 1)
这不起作用,但我怎么能这样做?
答案 0 :(得分:4)
假设您找到了名单:
r = Roster.find(1)
player = r.players.create(:name => 'Joe')
使用设置播放器ID的示例:
r.players.create(:id => 22, :name => 'Joe')
找到第一个玩家并将其添加到ID为22的名册中
# Then you can assign as follows:
player = Player.first
roster = Roster.find(22)
player.rosters << roster
或者,将玩家分配给一个名单:
player = Player.first
player.rosters = [Roster.find(22)]
player.save
save
可能没有必要。我不记得赋值是否触发了一个类似附加到关联的保存。