我知道「belongs_to的:通過」是無效的,它只是我試圖表達我想達到的目標,只是我承擔片刻...如何設置一種「belongs_to:through」而不設置直接的belongs_to?
這是我得到:
class League
has_many :divisions
end
class Division
belongs_to :league
has_many :teams
end
class Team
belongs_to :division
has_many :players
end
class Player
belongs_to :team
end
現在,爲了做一個「棒球卡片」視圖的形式,我需要:
name
team.name
team.division.name
team.division.league.name
那麼,有沒有一種方法來設置一個「belongs_to的:通過」直接從訪問「division.name」 'players_controller'沒有'團隊'。字首 ??我必須訪問很多從'player'到'division'的列,所以尋找一種方法來獲得對這些列的「直接」訪問。
一種選擇是在'players'表中包含'division_id'列,但我被告知它會違反關係數據模型,因爲如果數據選擇功能不是妥善處理(例如,玩家A位於A組的A隊,但玩家A的division_id列設置爲B組)。
是否有可能產生「符號鏈接」 '師'現在指的是'team.division',而'league'現在指的是'team.division.league'??
或者,是每次使用完整路徑的唯一真實選項?
希望有人能幫忙。
BR, 喬納斯
嗨喬納斯,請選擇馬特·史密斯的答案正確的,因爲這是一個更優雅的方式。 – emrass