Active partielles Updates in Padrino
-
11-10-2019 - |
Frage
Wie konfiguriere ich Active Verwendung partial_updates in einer Padrino Anwendung?
Customer < ActiveRecord::Base
after_update :check_name_change
private
def check_name_change
if name_changed?
# send mail notification for change of name.
end
end
end
Betrachten der Benutzer hat Attribute ‚Namen‘ und ‚Land‘ unter anderem in der Datenbank.
Wenn Benutzer Updates nennen, sendet er eine E-Mail-Benachrichtigung, wie erwartet. Doch selbst wenn der Benutzer das Land (oder anderes) Attribut ändert, sendet die Benachrichtigung für Namensänderung, die nicht akzeptabel ist.
Auf die Protokolle überprüft, fand ich, dass die Update-Abfrage für Land ist eine vollständige Aktualisierung zu machen, alle Attribute des Benutzers Rekord. Als solche ist die name_changed? Methode gibt true zurück und Benachrichtigungs-Email für Namensänderung gesendet wird.
Wenn ich die folgende Zeile setzen in app.rb
ActiveRecord::Base.partial_updates = true
sehe ich keinen Unterschied. Etwaige update_attribute Anrufe immer noch eine vollständige Aktualisierung des Datensatzes.
Gibt es eine andere Lösung oder Abhilfe?
Lösung
This is not related to padrino but only to active record.
Try it on before_save.