이것은 매우 간단한 질문이지만, 나는 단지 초보자입니다 ...Ruby on Rails : 자식 객체 만들기
has_many :piles
인 게임 모델이 있습니다. 말뚝, has_many :cards
. 나는 게임을 만들 때 Piles와 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
이제이 모든 것이 아주 잘되지만, ActiveRecord 를 사용할 때 "game_id" => id
을 넘기는 것은 잘못되었습니다.는 game_id가 외래 키이며 상위 게임을 참조해야 함을 알고 있습니다. 하지만 내가 놔두면 외래 키가 끝나 버린다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
(보너스를 원할 경우 아마도 더 간단 할 것입니다. 게임도 has_one :monkey
라고 가정하십시오.) 게임 모델 내에서 원숭이를 만드는 가장 좋은 방법은 무엇입니까?)