Ich bin derzeit in section 10.3.2 der Rails Tutorial (Beta) und stieß auf einige Probleme mit RSpec.Rails Tutorial - seltsame RSpec Verhalten
rspec spec/ runs
perfekt, aber wenn ich rspec spec/requests/micropost_pages_spec.rb
tun, wie im Tutorial beschrieben ich die folgende Fehlermeldung erhalten:
Failures:
1) Micropost pages micropost creation with invalid information should not create a micropost
Failure/Error: before { visit root_path }
ActionView::Template::Error:
undefined method `model_name' for NilClass:Class
# ./app/views/shared/_micropost_form.html.erb:1:in `_app_views_shared__micropost_form_html_erb__567210303736562711_70234980477780'
# ./app/views/static_pages/home.html.erb:8:in `_app_views_static_pages_home_html_erb___61006871036382679_70234970424160'
# ./spec/requests/micropost_pages_spec.rb:11:in `block (3 levels) in <top (required)>'
Durchführung den Tests manuell im Web-Browser scheint perfekt als gut zu funktionieren.
Ich bin mir nicht sicher, ob ich etwas falsch gemacht habe oder ob es im Tutorial einen "Bug" gibt. Kann jemand einen Hinweis geben?
UPDATE 1: Hier ist ein Link auf die whole project on GitHub.
UPDATE 2: Ich fand nun heraus, dass, wenn ich starten Sie den rails server
ich den Fehler, auch wenn ich die Seite traf das erste Mal. Aber wenn ich die Seite ein zweites Mal lade (neu lade), dann funktioniert es perfekt.
Können Sie bitte [gist] (https://gist.github.com/) Ihren spec_helper, betroffene Spezifikation, Controller und Ansicht. Toll wäre es, Ihre komplette Anwendung auf github zu pushen;) – Mailo
Hier ist es: https://github.com/znq/sample_app/tree/396d503d52b437790859917ce710c1aa59d3a426 – znq
Können Sie versuchen, '<% = render 'shared/microprop_form'%>' zu ändern in home.html.erb bis '<% = render: partially =>" shared/micropost_form ",: localhosts => {: micropost => @micropost}%>' und dann 'form_for (micropost)' in _micropost_form.html verwenden .erb? – DanS