Simple_form Error - undefinierte Methode 'model_name' für ActiveRecord :: Relation: Class

7

Ich versuche, meiner Bearbeitungsaktion etwas mehr bedingte Logik hinzuzufügen, indem ich params in ein where übergebe.

Immer wenn ich etwas anderes als .find (params [: id], die Fehler undefinierte Methode 'model_name' für ActiveRecord :: Relation: Class

Mein Code ist unter

Controller:

%Vor%

Anzeigen:

%Vor%

Ich habe die Klasse für @office ausgegeben, die ActiveRecord :: Relation ist. Wenn ich nur

benutze %Vor%

Die Ausgabe ist Office.

Ich denke, das ist das Problem, aber ich weiß nicht, wie ich es beheben soll. Irgendwelche Ideen?

    
Edward Ford 04.01.2011, 21:57
quelle

2 Antworten

16

Das Formular erwartet, dass sich ein einzelner Datensatz in der Instanzvariable @office befindet, die where -Methode gibt keinen einzelnen Datensatz zurück, sondern eine Relation, die nach der Abfrage mehrere Datensätze enthalten kann.

Der richtige Weg ist:

%Vor%

Oder noch besser, wenn Sie die Beziehung definiert haben:

%Vor%     
iain 04.01.2011, 22:06
quelle
4

Ich hatte auch das gleiche Problem, das ich mit .first behoben habe.

Ähnlich wie dieses:

%Vor%     
Sachin Prasad 03.01.2013 14:34
quelle

Tags und Links