Me gustaría crear una función de devolución de llamada en rieles que se ejecute después de guardar un modelo.
Tengo este modelo, Reclamo que tiene un atributo 'estado' el cual cambia dependiendo del estado del reclamo, posibles valores están pendientes, avalados, aprobados, rechazados
La base de datos tiene 'estado' con el valor predeterminado de 'pendiente'.
Me gustaría realizar ciertas tareas después de que el modelo se crea por primera vez o se actualiza de un estado a otro, según el estado desde el que cambia.
Mi idea es tener una función en el modelo:
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
Mi pregunta es ¿cómo verifico el valor anterior antes del cambio dentro del modelo?