Einrichtung anhand eines einfachen Beispiels: Ich habe 1 Tabelle ( Totals), die die Summe der amountSpalten jedes Datensatzes in einer zweiten Tabelle ( Things) enthält.
Wenn a thing.amountaktualisiert wird, möchte ich einfach die Differenz zwischen dem alten und dem neuen Wert hinzufügen total.sum.
Im Moment subtrahiere ich self.amountwährend before_updateund addiere self.amountwährend after_update. Dies setzt viel zu viel Vertrauen in das erfolgreiche Update.
Einschränkung: Ich möchte nicht einfach die Summe aller Transaktionen neu berechnen.
Frage: Ganz einfach, ich möchte während eines after_updateRückrufs auf den ursprünglichen Wert zugreifen . Wie haben Sie sich das ausgedacht?
Update: Ich gehe mit Luke Francls Idee. Während eines after_updateRückrufs haben Sie immer noch Zugriff auf die self.attr_wasWerte, genau das, was ich wollte. Ich habe mich auch für eine after_updateImplementierung entschieden, weil ich diese Art von Logik im Modell behalten möchte. Unabhängig davon, wie ich mich entscheide, Transaktionen in Zukunft zu aktualisieren, weiß ich auf diese Weise, dass ich die Summe der Transaktionen korrekt aktualisiere. Vielen Dank an alle für Ihre Implementierungsvorschläge.