Hartl Kapitel 10 Undefinierte lokale Variable oder Methode 'Objekt'

7

Ich habe die Form teilweise erstellt, um Microstars zu erstellen, wie in Listing 10.33 mit <%= render 'shared/error_messages', object: f.object %> gezeigt. und die jeweiligen Sichten-Dateien wie angewiesen aktualisiert. Allerdings kann ich die Rspec-Tests nicht bestehen, da ich immer wieder "undefinierte lokale Variable oder Methode 'Objekt' für Class ..." Irgendwelche Ideen?

app / Ansichten / geteilt / _micropost_form.html.erb

%Vor%

app / Ansichten / geteilt / _error_messages.html.erb

%Vor%

app / views / users / new.html.erb

%Vor%

app / views / users / edit.html.erb

%Vor%

Authentifizierungsspezifikation

%Vor%

Benutzerspezifikation

%Vor%     
railser 22.06.2012, 15:02
quelle

5 Antworten

14

Wow, jetzt fühle ich mich wie ein Dummkopf ... Ich habe ein extra <%= render 'shared/error_messages' %> in der Benutzerfelder teilweise

Hoffentlich hilft das jedem anderen, der das gleiche Problem hatte.

    
railser 23.06.2012, 17:11
quelle
8

Die aktuelle Version des Tutorials, Stand August 2013, enthält eine Warnung:

  

(Hinweis: Ihr Code wird sich unterscheiden, wenn Sie Listing 9.50 und Listing 9.51 aus den Übungen in Abschnitt 9.6 ... implementiert haben)

... aber wie alle anderen, die diese Fragen gestellt haben, habe ich es zuerst vermisst. Wenn Sie also in Abschnitt 9.6 Übungen gemacht haben, bearbeiten Sie Ihre aktuellen new.html.erb- und edit.html.erb-Dateien NICHT. Die einzige Datei, die Sie mit <%= render 'shared/error_messages', object: f.object %> aktualisieren müssen, ist _fields.html.erb.

    
Mark Kreyman 29.08.2013 21:43
quelle
1

Er sollte das Tutorial aktualisieren, um uns daran zu erinnern, die zusätzlichen & lt;% = render 'shared / error_messages'% & gt; in den Benutzerfeldern teilweise wie die oben genannte Person. Dies war von einer früheren Voraussetzung dafür übrig geblieben. Ich hatte das gleiche Problem. Denk nicht, dass du ein Dummkopf bist, nur wenige würden sich daran erinnern.

    
Nathan McKaskle 05.11.2012 20:22
quelle
0

Für alle, die noch suchen, prüfen Sie die <%= render 'shared/error_messages'... -Zeile in app/views/users/_name_email_password_form.html.erb , wenn Sie dem Hartl-Tutorial folgen.

    
Smittles2003 14.12.2013 04:12
quelle
0

das ist der richtige Code

%Vor%

das ist die richtige Form, das zu tun

    
Fdiaz702 15.04.2016 05:03
quelle