如果我有兩個模式加入一個有很多兩個關係,可以說(球隊和球員),他們通過(陣容)聯合在視圖中,如何通過has_many關係獲取rails中的連接模型的id?
有沒有辦法在視圖中訪問聯接模型ID(lineups_id)在打電話之後:
@teams.players.each_with_index |players, index| do
players.lineups_id
end
如果我有兩個模式加入一個有很多兩個關係,可以說(球隊和球員),他們通過(陣容)聯合在視圖中,如何通過has_many關係獲取rails中的連接模型的id?
有沒有辦法在視圖中訪問聯接模型ID(lineups_id)在打電話之後:
@teams.players.each_with_index |players, index| do
players.lineups_id
end
據我所知,沒有辦法做到這一點。但是通過重新安排你的代碼可以很容易地解決它。
@team.lineups.includes(:player).each_with_index |lineup, index| do
lineup.id
lineup.player
end
的.includes(:player)
實際上不是必要的,但它會改善預先加載玩家你的表現。
.includes拋出和錯誤「未定義的方法」包括「,我在軌道2.3.11。是一個軌道3的方法?否則它的工作! – 2011-06-03 06:28:53
是的,這是一個Rails 3的方法。 lineups.find(:all,:include =>:player).each_with_index'代替Rails 2.3。 – aNoble 2011-06-03 06:34:20
陣容是一個真正的實體還是隻是一個關聯實體,以促進多對多的關係?如果它是後者,它將不會有一個id,因爲它的主鍵將是兩個外鍵的組合。 – kroehre 2011-06-03 05:17:58
是的,linueps是它自己的一種模式。 – 2011-06-03 05:20:13