ActiveRecord - Callbacks
Los callbacks son métodos que se invocan en ciertos momentos del ciclo de vida de un modelo: cuando se crea, cuando se actualiza, cuando se elimina, etc.
Definiendo callbacks
Para definir un callback debes realizar dos pasos:
Registrar el callback.
Escribir el método que se va a ejecutar cuando ocurra el callback.
Por ejemplo, si queremos imprimir "Artículo creado" después de que se cree un artículo haríamos lo siguiente:
En este caso el método print_message
se va a ejecutar después de que un artículo sea creado:
¿Para qué sirven los callbacks?
Los callbacks se pueden utilizar para toda clase de tareas:
Enviar correos
Actualizar campos calculados.
Llamar a servicios externos.
Crear otros registros en otras tablas.
Entre muchos otros!
Callbacks disponibles
Existe una gran variedad de callbacks que puedes utilizar en tus modelos. Los más importantes son:
before_create
Antes de crear el registro
after_create
Después de crear el registro
before_update
Antes de actualizar el registro
after_update
Después de actualizar el registro
before_save
Antes de crear o actualizar
after_save
Después de crear o actualizar
before_destroy
Antes de eliminar el registro
after_destroy
Después de eliminar el registro
before_validation
Antes de que se valide el registro
after_validation
Después de que se valida el registro
Deteniendo la operación
Si cualquier before_
callback retorna false
o lanza una excepción, la operación se cancela.
Los after_
callbacks solo pueden detener la operación lanzando una excepción.
Se recomienda lanzar ActiveRecord::Rollback
o ActiveRecord::RecordInvalid
.
Last updated