Pregunta simple. Tengo un modelo de ActiveRecord que deseo realizar después del procesamiento DESPUÉS de que se guarde el registro. Entonces en el modelo tengo un método queue_for_processing que pega un trabajo en mi cola Resque. Para que esto sea ejecutar después de mi registro es éxito persistió he escrito lo siguiente en mi modelo:Rieles: Excepción en after_create stopping save
after_create :queue_for_processing
bastante simple. Pensé que todo estaba funcionando como esperaba, EXCEPTO que anoche mi servidor redis se vino abajo y todo salió mal. Mis expectativas eran que el registro aún se guardara y que pudiera procesar el trabajo más tarde manualmente. Pero el método queue_for_processing arroja una excepción (comportamiento esperado) y evita que se guarde el registro.
¿Entiendo mal cómo funciona after_create? ¿O es correcto mi entendimiento y ocurre algo funky?
Gracias.
Impresionante, gracias por la rápida respuesta. Esto también fue útil: http://rails-bestpractices.com/posts/695-use-after_commit –
Además, gracias por presentarme a after_commit. Veo que fue presentado en Rails3, pero debo haberme perdido la nota. Me gusta aprender cosas nuevas :-) –
¡Gran explicación! +1 por concisión. –