Ich möchte eine Rückruffunktion in Schienen erstellen, die ausgeführt wird, nachdem ein Modell gespeichert wurde.
Ich habe dieses Modell, Anspruch, der ein Attribut 'Status' hat, das sich je nach Status des Anspruchs ändert. Mögliche Werte stehen noch aus, werden gebilligt, genehmigt, abgelehnt
Die Datenbank hat den Status "Status" mit dem Standardwert "Ausstehend".
Ich möchte bestimmte Aufgaben ausführen, nachdem das Modell beim ersten Mal erstellt oder von einem Status in einen anderen aktualisiert wurde, je nachdem, von welchem Status es sich ändert.
Meine Idee ist es, eine Funktion im Modell zu haben:
after_save :check_state
def check_state
# if status changed from nil to pending (created)
do this
# if status changed from pending to approved
performthistask
end
Meine Frage ist, wie ich vor der Änderung innerhalb des Modells nach dem vorherigen Wert suchen kann.