我有一个模型'匹配'属于名为'团队'的模型。球队有很多比赛。它看起来像这样:
$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?
在我看来,协会不起作用。有什么想法吗?
答案 0 :(得分:1)
您尚未添加已添加team
和home_team
的任何away_team
关联,因此请在您的代码中添加主要团队和远程团队。或创建团队关联
还有一件事你怎么知道哪个是主队和客队?主队或客队需要一个外键,并在你的代码中添加foreign_key
来识别它们。