我敢肯定,這是一個很簡單的問題,但我只是個新手,所以......Ruby on Rails的:創建子對象
我有一個模型,遊戲,其中has_many :piles
。樁,反過來,has_many :cards
。我能夠填充樁和卡在創建的遊戲,所以我目前的代碼看起來是這樣的:
class Game < ActiveRecord::Base
has_many :piles
def after_create
1.upto(4) do |num|
Pile.new("game_id" => id, "contents" => "c_type_#{num}")
end
end
end
class Pile < ActiveRecord::Base
has_many :cards
belongs_to :game
def after_create
1.upto(10) do |num|
Card.new("pile_id" => id, "value" => num)
end
end
end
class Card < ActiveRecord::Base
belongs_to :pile
end
現在,這都很好,但感覺不對路過"game_id" => id
時的ActiveRecord 知道 game_id是外鍵,應參考父遊戲。但是如果我放棄它,那麼外鍵最終會失效。有一個更好的方法嗎?
(對於獎金,可能更簡單,問題;假設遊戲也has_one :monkey
如何最好的我從遊戲模式中創建的猴子?)