Son after_create
y after_save
lo mismo que por funcionalidad?
Quiero hacer una operación con el correo electrónico de un usuario después de la creación de su cuenta.
Quiero hacer esa operación cuando se guarda en la base de datos.
cuál es preferible usar: after_create
o after_save
?
ruby-on-rails
ruby
ruby-on-rails-3
Swapnil Chincholkar
fuente
fuente
update_all
no hace invoca ninguna de las devoluciones de llamada, incluyendoafter_*
De los documentos :
fuente
Funciona bien cuando tiene que guardar modelos que no se guardan con mucha frecuencia. Para este ejemplo particular de cambio frecuente de registros, sería aconsejable utilizar
asegúrese de que el modelo se guarde en la base de datos antes de ejecutar la acción after_commit: Calculate_credit_score
fuente
after_commit
pero no explique por qué. Por favor, ¿puedes dar más detalles? Tenga en cuenta que seafter_commit
ejecuta en crear, actualizar y destruir. Documentos: apidock.com/rails/ActiveRecord/Transactions/ClassMethods/… Entonces, ¿no es el mismo comportamiento queafter_save
realmente quieres llamar a ese cron_job después de destruir el registro? ¿O en el caso de operaciones, enviar un correo electrónico a un usuario ahora eliminado? Tenga cuidado con el usoafter_commit
after_commit
se ejecuta en esas operaciones CRUD, por lo que si en su caso el correo electrónico se actualiza con frecuencia, sería más fácil combinar la acción para una devolución de llamada específica. En mi caso solíaafter_commit : calculate_profile_update, on: :update