I want to send request to external software whenever I am certain that a model is saved.
1) How do I determine the order in which after_create is called?
2) does it get called on a failed create?
The RAILS API documentation says:
Note that this callback is still wrapped in the transaction around save.
3) Does this mean it requires the save
to be successful before after_save
is called or does it mean that once save
is called after_save
is always triggered?
How would I learn in what order after_create is called and if it persists through a failed create?
You can read the order of callbacks here: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
If the transaction fails, the save
event (and create
/update
events) return false
. This will stop all later callbacks from being run. So, after_save
, after_create
/after_update
all never get run on a failed save
(or on a failed create
/update
).
...and the transaction gets rolled back so the database is not actually updated.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With