Ich habe ein Problem mit Rails 3.2.1, eine verschachtelte Ressource beschwert sich über eine nicht initialisierte Konstante, ich kann nicht herausfinden, warum, weil mir scheint, dass ich das getan habe Genau wie bei einem anderen Modell, wo das funktioniert hat. Irgendwann dachte ich, ich könnte irgendwo ein reserviertes Wort verwenden, sondern ändern sich die Modellnamen nicht helfen ...Rails 3.2, verschachtelte Ressource, nicht initialisierte Konstante
Fehler:
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>
brand.rb
class Brand < ActiveRecord::Base
has_many :series, :order => "name, id ASC", :dependent => :destroy
end
serie.rb
class Serie < ActiveRecord::Base
belongs_to :brand
end
brands_controller.rb
def show
@brand = Brand.find(params[:id])
@series = @brand.series
end
Marken/show.html.erb
<% @series.each do |serie| %>
<article class='serie_block'>
<%= serie.name %>
</article>
<% end %>
Ich bekomme die gleiche "nicht initialisierte Konstante Marke :: Series" Fehler wenn ich versuche, eine erstellen neue serie, aber dann bezieht es sich auf "app/controllers/series_controller.rb: 21: in` new '", das ist diese zeile" @serie = @ 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
nun das Merkwürdige ist, dass die Beziehung zu funktionieren scheint, Rails nicht über „Marken“ nicht eine „Serie“ Verfahren beschwert haben. Aber die tatsächliche Erstellung des Serienobjekts scheint zu scheitern: s
Wow, danke, dass es löst! Jetzt verstehe ich auch, warum meine Umbenennungen schief gelaufen sind: Ich habe gerade etwas vor 'Serien' hinzugefügt (wie 'product_series' ... Ich denke, als nicht-englischer Muttersprachler habe ich einfach nicht daran gedacht, dass der Singular von "Serie" ist eigentlich "Serie" – Berggeit