0
我正在努力在Rails中建立模型和模型之間的關聯,希望得到一些建議。 「玩家」有多個「選擇」,每個「選擇」都是由三位「騎手」組成的。在模型中管理多個foreign_key
總結模式:
create_table players do |t|
t.string "name"
...
end
create_table picks do |t|
t.integer "player_id"
t.integer "rider1_id"
t.integer "rider2_id"
t.integer "rider3_id"
...
end
create_table riders do |t|
t.string "name"
...
end
我有一些建立起來的模型之間的關聯:
player.rb:
class Player < ActiveRecord::Base
has_many :picks
end
pick.rb:
class Pick < ActiveRecord::Base
has_many :riders, :foreign_key => "rider1_id"
has_many :riders, :foreign_key => "rider2_id"
has_many :riders, :foreign_key => "rider3_id"
belongs_to :player
end
rider.rb
class Rider < ActiveRecord::Base
belongs_to :pick
end
我覺得/知道,我很想念協會的一些基本理解的代碼以上。特別是,我希望能夠說出類似於「myPick.rider1.name」的內容。我也可以看看哪些選秀包括給定的騎手,比如「myRider.picks」(雖然我不確定這是甚麼可能)。從根本上說,我不確定在挑選模型中有三個「騎手」外鍵是否正確。
在此先感謝您的任何建議。 乾杯, 雅克
是的,這是有道理的。謝謝。 – Jacques
謝謝。從根本上說,我對'belongs_to'的語法錯誤。我不得不稍微修改你上面寫的東西(也許因爲我仍然使用Rails 2 - 傳統項目),但是我可以使用它:'belongs_to:rider1,:class_name =>'Rider',:foreign_key =>:rider1_id '。我也非常喜歡「騎手」的方法,並且能夠操縱一個陣列中的所有騎手。非常感謝! – Jacques