我有3個型號。在Rails中有三個多對多的關係,如果有其他兩個,我怎麼能找到一個?
class Team < ActiveRecord::Base
...
has_many :seasons_teams, :dependent => :destroy
has_many :seasons, :through => :seasons_teams
has_and_belongs_to_many :players
...
end
class Season < ActiveRecord::Base
...
has_many :players_seasons, :dependent => :destroy
has_many :players, :through => :players_seasons
has_many :seasons_teams, :dependent => :destroy
has_many :teams, :through => :seasons_teams
...
end
class Player < ActiveRecord::Base
...
has_many :players_seasons, :dependent => :destroy
has_many :seasons, :through => :players_seasons
has_and_belongs_to_many :teams
...
end
將會進行驗證,以便任何給定的玩家每個賽季最多隻能有一個球隊。
我正在尋找一種有效的方式來獲得一個玩家團隊對於任何給定的季節,即:
@player.team(@season)
謝謝!
這讓'的ActiveRecord :: StatementInvalid:PGError:錯誤:缺少FROM子句條目表 「季節」',但以下工作:'加入(:賽季)。凡( 'season_id =?',season.id)' – jsteiner 2012-02-18 01:18:49
好的。我已經更新了我的答案。 – 2012-02-20 14:04:13