1対多リレーションシップを使用するときに問題が発生しました。私は、各シリーズに1つの出版社があり、1つの出版社に多くのシリーズがあるようにしたいと考えています。ActiveRecordとリレーションシップでNameErrorを取得する
これは私の出版社のモデルである:
class Publisher < ActiveRecord::Base
validates_presence_of :name
has_many :series
end
これは私のセリエモデルです:
class Serie < ActiveRecord::Base
belongs_to :publisher
end
これが失敗するテストです:
test "a publisher should have a list of series" do
@publisher = Publisher.new :name => "Standaard Uitgeverij"
@series = [ Serie.new(:name => "De avonturen van Urbanus", :publisher => @publisher),
Serie.new(:name => "Suske en Wiske", :publisher => @publisher) ]
assert_equal @series, @publisher.series
end
テストが最後の行に失敗しましたNameError:初期化されていない定数Publisher :: Series。
パブリッシャーとシリーズを保存しようとしましたが、これは機能しませんでした。私は1つのセリで試しましたが、これは同じエラーを与えます。
私はRailsとRubyを使い始めているので、ここでは紛失しています。私は間違って何をしていますか?あなたのコメントで述べたように、あなたの実際の質問に対処するために
has_many関係の名前をserieに変更し、シリーズを保存するときに関係が機能します。しかし、私はセリエの代わりに名前シリーズを持っていたい。 –