小编Wil*_*les的帖子

具有多个外键的Has_many,belongs_to

我正在尝试通过has_many,belongs_to关系将比赛归因于俱乐部。但是,在比赛中,我需要将俱乐部设置为home_team或away_team。为了解决这个问题,我使用了两个foreign_key。

class Club < ActiveRecord::Base
  has_many :matches
end

class Match < ActiveRecord::Base
  belongs_to :home_team, class_name: 'Club', foreign_key: 'home_team_id'
  belongs_to :away_team, class_name: 'Club', foreign_key: 'away_team_id'
end
Run Code Online (Sandbox Code Playgroud)

这样可以使用home_team_id和away_team_id在比赛中很好地设置俱乐部。

但是,我无法通过Club.matches访问所有俱乐部的比赛。

ERROR:  column matches.club_id does not exist
Run Code Online (Sandbox Code Playgroud)

我该如何改变自己的关系,以便做到这一点?

ruby-on-rails foreign-keys has-many belongs-to

4
推荐指数
1
解决办法
2373
查看次数