ruby-on-rails - example - ruby after_create
Comprender la devolución de llamada after_update en Rails 4 (2)
Si consulta la documentación de Rails, encontrará muchas devoluciones de llamada que puede usar. Lo mejor para este trabajo podría ser "after_commit":
Esto es directamente de los Documentos de Rails (enlace en la parte inferior)
3.1 Creating an Object
before_validation
after_validation
before_save
around_save
before_create
around_create
after_create
after_save
after_commit/after_rollback
3.2 Updating an Object
before_validation
after_validation
before_save
around_save
before_update
around_update
after_update
after_save
after_commit/after_rollback
3.3 Destroying an Object
before_destroy
around_destroy
after_destroy
Rails DOcs: http://guides.rubyonrails.org/active_record_callbacks.html
Tengo un objeto Rails con after_update llamada after_update que envía un registro a una cola. Y el problema es que noté que a veces la cola se procesa más rápido de lo que el objeto realmente se está actualizando.
Mi pregunta: ¿se after_update llamado a after_update no después de que finalizó la actualización del objeto, sino cuándo comenzó? ¿Qué devolución de llamada necesito si quiero hacer algo con ella solo después de que la actualización sea exitosa?
after_save , after_create , after_update se llaman dentro del bloque de transacción, por lo que se ejecutarán antes de ejecutar la instrucción SQL.
Si desea hacer algo cuando se completa la ejecución de la instrucción, debe usar after_commit callback.