私が構築している簡単なフラッシュカードの例として、次のDBがあります。
create_table "card_associations", :force => true do |t|
t.integer "card_id"
t.integer "deck_id"
end
create_table "cards", :force => true do |t|
t.string "question"
t.string "answer"
end
create_table "decks", :force => true do |t|
t.string "name"
t.string "description"
end
すべてのモデルのリレーションシップを通じてhas_manyを設定しました。ここで、デッキIDを指定して、結合テーブルからすべてのカードのリストを返すことができるようにしたいと思います。クエリを実行した場合:
CardAssociation.find_by_deck_id(3).card
これは、deck_idが3の最初のカードを再実行します。しかし、試してみると。
CardAssociation.find_all_by_deck_id(3).card
エラーが発生します
NoMethodError:#の未定義のメソッド `card'
誰かがこれを手伝ってくれますか?非常に単純な間違いをしているような気がします。
助けてくれてありがとう