ActiveRecord-Assoziationen werden nach der Migration zwischen Rails-Versionen automatisch auf Zuweisung gespeichert. Wie kann ich das deaktivieren?

8

Ich versuche, meine Anwendung von Rails 3.0.7 nach Rails 3.1.3 zu migrieren. Ich habe ein Kundenmodell

%Vor%

In der Editiermethode des Controllers führe ich diesen Code aus:

%Vor%

In der zweiten Zeile dieses Codes bekomme ich einen Fehler:

%Vor%

So scheint es, dass die Zuweisung an @ client.contact_address irgendwie die Methode save beim Objekt contact_address ausgelöst hat ... Das möchte ich nicht ... Ist das ein neues Verhalten von Rails 3.1.x? Ich möchte verknüpfte Objekte nur speichern, wenn ich .save! auf Elternmodell - das ist zu viel Magie für mich. Kann ich dieses Verhalten irgendwo deaktivieren?

    
Adrian Serafin 20.01.2012, 23:06
quelle

1 Antwort

8

Ich habe eine Problemumgehung dafür gefunden. In der Methode zum Bearbeiten von Controllern habe ich die Methode build anstelle von Zuweisung verwendet:

%Vor%

Aber ich bin immer noch neugierig, etwas über dieses neue Verhalten zu lesen (mein Googling war erfolglos). Vielleicht könnte jemand einen Link zur Verfügung stellen?

    
Adrian Serafin 21.01.2012, 10:49
quelle

Tags und Links