一个模型与两个模型的关联

时间:2012-09-13 12:48:18

标签: ruby-on-rails model associations

我有一个模型'匹配'属于名为'团队'的模型。球队有很多比赛。它看起来像这样:

 $class Match < ActiveRecord::Base
 belongs_to :home_team, :class_name => "Team"
 belongs_to :away_team, :class_name => "Team"

 class Team < ActiveRecord::Base
 has_many :matches

在数据库中,我已正确设置了'matches'表中的两个必填字段home_team_id和away_team_id。 我尝试了多种方式,但每当我在匹配控制器中做这样的事情时:

 @matches = Match.find(:all, :include => :team)
 # Or:
 @matches = Match.where('team.gender = ?', true)

我收到此错误:

Association named 'team' was not found; perhaps you misspelled it?

在我看来,协会不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您尚未添加已添加teamhome_team的任何away_team关联,因此请在您的代码中添加主要团队和远程团队。或创建团队关联

还有一件事你怎么知道哪个是主队和客队?主队或客队需要一个外键,并在你的代码中添加foreign_key来识别它们。

相关问题