Vorrei creare una funzione di callback in rails che viene eseguita dopo il salvataggio di un modello.
Ho questo modello, reclamo che ha un attributo "stato" che cambia a seconda dello stato del reclamo, i possibili valori sono in sospeso, approvato, approvato, rifiutato
Il database ha lo "stato" con il valore predefinito "in sospeso".
Vorrei eseguire determinate attività dopo che il modello è stato creato la prima volta o aggiornato da uno stato all'altro, a seconda dello stato da cui cambia.
La mia idea è di avere una funzione nel modello:
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
La mia domanda è: come posso verificare il valore precedente prima della modifica all'interno del modello?