明らかなことを見落としているかもしれませんが、このレール ゾンビ チュートリアルに実用的なシナリオを適用しようとしています。
--------質問------------ モデルと関係が適切に定義されていると仮定して、ゾンビ「アッシュ」に属するすべての武器を見つけます。
class Zombie < ActiveRecord::Base
has_many :weapons
end
class Weapon < ActiveRecord::Base
belongs_to :zombie
end
チュートリアルは次の回答を受け入れます-
z = Zombie.find(1)
[#<Zombie id: 1, name: "Ash", graveyard: "Glen Haven Memorial Cemetery">]
z.weapons
[#<Weapon id: 1, name: "Hammer", strength: 1, zombie_id: 1>]
しかし、私にとってそれはあまり実用的ではありません。プロジェクトに取り組んでいて、そのような質問が出てきた場合、私はこれを行います。
ash = Zombie.where(:name => "Ash")
[#<Zombie id: 1, name: "Ash", graveyard: "Glen Haven Memorial Cemetery">]
しかし
ash.weapons
出力を与える
#<NoMethodError: undefined method `weapons' for #<ActiveRecord::Relation:0x00000016334738>>
ゾンビを見つけるための出力がまったく同じであり、ゾンビを見つけた方法が、質問の組み立て方を考えると(データベーステーブルを提供していても)はるかに実用的である場合、どうすればよいでしょうか。それは codeschool インタラクティブ コンソールのニュアンスでしょうか、それとも何か不足していますか?
ご清聴ありがとうございました。