Je voudrais créer une fonction de rappel dans les rails qui s'exécute après un modèle est enregistré.
J'ai ce modèle, Revendication qui a un attribut "statut" qui varie en fonction de l'état de la demande, les valeurs possibles sont en attente, approuvé, approuvé, rejeté
La base de données de l'état avec la valeur par défaut de "en attente".
J'aimerais effectuer certaines tâches après le modèle est créé pour la première fois, ou mise à jour d'un état à un autre, selon lequel l'état passant de l'état.
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 comment puis-je vérifier pour la valeur précédente avant que le changement dans le modèle?