如何在Rails has_many_and_belongs_to_many关系中创建两个对象之间的关系

时间:2012-02-08 01:03:27

标签: ruby-on-rails ruby-on-rails-3

我有以下型号:

class Match < ActiveRecord::Base

has_and_belongs_to_many :teams

end 

class Team < ActiveRecord::Base

has_and_belongs_to_many :matches

end

它们与matches_teams表连接在一起。

看来我的设置正确了。例如,我可以让@ team.matches工作。

我的问题是如何将两支特定球队分配给比赛?在rails控制台中,我可以去:@ team.match.create,这可行,但它会创建一个与该团队相关的新匹配。我如何让另一个团队加入该协会?

如果不是很明显的话,我对Rails相当新手。谢谢!

1 个答案:

答案 0 :(得分:0)

一步一步,如果你想在比赛中加入两支球队,我认为你想这样做:

match = Match.create!(...)
team_one = Team.create!(...)
team_two = Team.create!(...)

match.teams << team_one
match.teams << team_two

显然,你可以把它压缩到更少的线,但我想我会在这里保持明确。此外,你可以通过将你的比赛添加到一个团队来做同样的事情,但这似乎不太直观。