Rails 3.2.1 で問題が発生しています。ネストされたリソースが初期化されていない定数について不平を言い続けています。これが機能した別のモデルと同じことをしたように見えるため、理由がわかりません。ある時点で、どこかで予約語を使用している可能性があると思いましたが、モデル名を変更しても役に立ちませんでした...
エラー:
uninitialized constant Brand::Series
Extracted source (around line #11):
8: </article>
9:
10:
11: <% @series.each do |serie| %>
12: <article class='serie_block'>
13: <%= serie.name %>
14: </article>
ブランド.rb
class Brand < ActiveRecord::Base
has_many :series, :order => "name, id ASC", :dependent => :destroy
end
セリエ.rb
class Serie < ActiveRecord::Base
belongs_to :brand
end
brand_controller.rb
def show
@brand = Brand.find(params[:id])
@series = @brand.series
end
ブランド/show.html.erb
<% @series.each do |serie| %>
<article class='serie_block'>
<%= serie.name %>
</article>
<% end %>
新しいシリーズを作成しようとすると、同じ「初期化されていない定数 Brand::Series」エラーが発生しますが、「app/controllers/series_controller.rb:21:in `new'」が参照されます。この行は「@セリエ = @brand.series.build".
series_controller.rb
# GET /Series/new
# GET /Series/new.json
def new
@brand = Brand.find(params[:brand_id])
@serie = @brand.series.build
respond_to do |format|
format.html # new.html.erb
format.json { render json: @serie }
end
end
奇妙なことは、関係が機能しているように見えることです.Railsは、「シリーズ」メソッドを持たない「ブランド」について不平を言っているわけではありません. しかし、シリーズオブジェクトの実際の作成は失敗しているようです:s