私はRailsを学ぶためにカードゲームをモデル化しようとしています。これは、デッキにカードの複数のコピーがあるという点で、トランプの標準デッキとは異なります。デッキの初期化中に問題が発生しています。これまでは、さまざまな属性を持つ基本的なCardモデル(copies_in_deckなど)を持っていましたが、関連はありませんでした。デッキのカードを(これがデッキに同じカードの倍数を有することに起因する)を表すDeckCardモデル:レールでカードのカスタムデッキをモデル化して作成する方法は?
class DeckCard < ActiveRecord::Base
belongs_to :card
belongs_to :deck
end
これらDeckCards最終的位置を反映した属性を持っています。 、捨て山のような山札で、など
belongs_to :game
has_many :deck_cards
とデッキモデル私はデッキをinializeしようとしていると、様々な問題を抱えています。私はDeck.new
を行うと、私はnil.build上のエラーを取得し
def initialize
@cards = Card.find(:all)
@cards.each do |card|
# eventually another loop here on copies_in_deck
@deck_cards.build(card)
end
end
デッキに次のようにしようとしています。なぜ@deck_cardsはnilですか?
私はInstant Rail 2を使用しています。これには、レール2.0.2があります。私はthis articleが1つのアクションで複数のモデルを作成することを発見したので、Deck.createを使ってみました!代わりに、引数の数が間違っているというエラーが発生しました。
提案がありますか?
ありがとうございました!私はそれをマークアップしただろうが、私は担当者を持っていない – user26270