undefinierte Methode model_name

7

Ich verwende den Standard-Code, der von Scaffolding erstellt wurde. Ich habe nichts verändert.

%Vor%

Was ist hier falsch? Ich rufe nie eine Methode namens "model_name" und dieser Code ist automatisiert, also warum funktioniert es nicht?

Danke

    
Bv202 21.06.2011, 18:48
quelle

2 Antworten

20

Fügen Sie dies zu Ihrem presences_controller in der new oder einer anderen relevanten Aktion hinzu, die das Formular rendert:

%Vor%     
Zabba 21.06.2011, 18:50
quelle
5

Die Ansicht (und die form_for-Methode) erwarten, dass in der Variablen @presence tatsächlich ein echtes Presence-Modell vorhanden ist. Eine @ -Variable wie diese wird vom Controller übergeben, was bedeutet, dass Sie sie in der Controller-Aktion einrichten mussten.

Im Fall der Aktion "new" - Sie haben kein vorhandenes Presence-Objekt, mit dem Sie spielen (im Gegensatz zu "show") - Sie müssen also nur eine leere, neue erstellen.

Die form_for-Methode wird ein Presence-Objekt wie dieses nehmen und: wenn es ein existierendes von der db ist, wird es die korrekte POST-Route erstellen, um es zu aktualisieren. Aber wenn es ein neues, leeres ist, wird die richtige Route zum Erstellen eines neuen erstellen.

Ich hoffe, das hilft ...

    
Taryn East 21.06.2011 19:25
quelle

Tags und Links