diff options
author | Nate Berkopec <nate.berkopec@gmail.com> | 2013-10-15 10:55:15 -0400 |
---|---|---|
committer | Nate Berkopec <nate.berkopec@gmail.com> | 2013-10-16 10:47:37 -0400 |
commit | cb609b3975e43430d193822d13d7ce4bfbabd20f (patch) | |
tree | fadfb874615bc4c11b961d1022b6e992ee41f260 | |
parent | dd37ff81d13136a5e8a78f79d8b1cd11e2427e01 (diff) | |
download | rails-cb609b3975e43430d193822d13d7ce4bfbabd20f.tar.gz rails-cb609b3975e43430d193822d13d7ce4bfbabd20f.tar.bz2 rails-cb609b3975e43430d193822d13d7ce4bfbabd20f.zip |
Rephrase ActiveRecord transaction rollback warning
[ci skip]
-rw-r--r-- | guides/source/active_record_callbacks.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/guides/source/active_record_callbacks.md b/guides/source/active_record_callbacks.md index aa2ce99f6d..5cc6ca5798 100644 --- a/guides/source/active_record_callbacks.md +++ b/guides/source/active_record_callbacks.md @@ -204,7 +204,7 @@ As you start registering new callbacks for your models, they will be queued for The whole callback chain is wrapped in a transaction. If any _before_ callback method returns exactly `false` or raises an exception, the execution chain gets halted and a ROLLBACK is issued; _after_ callbacks can only accomplish that by raising an exception. -WARNING. Raising an arbitrary exception may break code that expects `save` and its friends not to fail like that. The `ActiveRecord::Rollback` exception is thought precisely to tell Active Record a rollback is going on. That one is internally captured but not reraised. +WARNING. Any exception that is not `ActiveRecord::Rollback` will be re-raised by Rails after the callback chain is halted. Raising an exception other than `ActiveRecord::Rollback` may break code that does not expect methods like `save` and `update_attributes` (which normally try to return `true` or `false`) to raise an exception. Relational Callbacks -------------------- |