Wie kann man auf Parameter im Callback eines Rails-Modells zugreifen?

8

Ich habe einen Rückruf eines Modells, das basierend auf einem anderen im Formular eingegebenen Feld ein abhängiges Objekt erstellen muss. Aber params ist in der Callback-Methode nicht definiert. Gibt es eine andere Möglichkeit, darauf zuzugreifen? Was ist der richtige Weg, um Parameter einer Rückrufmethode aus einem Formular zu übergeben?

%Vor%     
at. 28.11.2012, 19:25
quelle

3 Antworten

6

params sind in Modellen nicht zugänglich, selbst wenn Sie sie als Parameter übergeben, dann wäre dies eine schlechte Methode und könnte auch gefährlich sein.

Sie können ein virtuelles Attribut erstellen und in Ihrem Modell verwenden.

%Vor%

Dabei ist sign_up_date Ihr virtuelles Attribut

    
Muhamamd Awais 28.11.2012 19:42
quelle
1

Was Sie tun sollten, ist diesen Code auf den Controller zu verschieben, params ist in den Modellen nicht verfügbar.

%Vor%     
Hitham S. AlQadheeb 28.11.2012 19:33
quelle
1

Parameter sind in den Modellen nicht verfügbar.

Eine Möglichkeit, dies zu tun, wäre ein virtuelles Attribut im Benutzermodell zu definieren und dieses im Callback zu verwenden.

%Vor%

Sie müssen sicherstellen, dass der Name des Feldes im Formular Benutzer [: sign_up_date]

ist     
kp2222 28.11.2012 19:37
quelle