Je voudrais créer une fonction de rappel dans les rails qui s'exécute après l'enregistrement d'un modèle.
J'ai ce modèle, Revendication qui a un attribut «statut» qui change en fonction de l'état de la revendication, les valeurs possibles sont en attente, approuvées, approuvées, rejetées
La base de données a «état» avec la valeur par défaut «en attente».
J'aimerais effectuer certaines tâches après la création du modèle la première fois ou la mise à jour d'un état à un autre, en fonction de l'état à partir duquel il change.
Mon idée est d'avoir une fonction dans le modèle:
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
Ma question est de savoir comment vérifier la valeur précédente avant le changement dans le modèle?