Ich versuche mit der Entwicklung von Ansichtskomponenten mit Rspec2 und Rails3 zu beginnen. Allerdings mache ich die folgende Beobachtung, und ich verstehe nicht, was vor sich geht, und wie man das beheben kann.Rspec2 Teilansicht ergibt Nil: NilClass. Warum?
In meiner spec definiere ich:
describe "main/index.html.erb" do it "displays a photo url in products partial" do assign(:designs, [stub_model(Design, :name => "test", :photo => "photo_url")]) render rendered.should contain("photo_url") end end
Wenn ich laufen:
rspec spec/view/main_spec.rb
ich diesen Fehler:
1) main/index.html.erb displays a photo url in products partial Failure/Error: render ActionView::Template::Error: undefined method `photo' for nil:NilClass # ./app/views/main/_design.html.erb:3:in `_app_views_main__design_html_erb__2937334847274155273_2170841960__1566661024965846011' # ./app/views/main/index.html.erb:25:in `_app_views_main_index_html_erb__837234277009287876_2170861440__898201527838028543' # ./spec/views/main_spec.rb:7:in `block (2 levels) in '
Allerdings, wenn ich nur 'Zugang' eine lokale Fotoobjekt in meinem Teil alles passiert. Dies ist:
in _design.html.erb:
---> PASS ---> FAIL
Meiner Ansicht nach nenne ich meine teilweise wie folgt:
main.html.erb
{ :designs => @designs } %>
Was bedeutet die Gemeinschaft denke? Vielen Dank für Ihre Hilfe!