From 73ef94e9675ef6db85f18f1e3c70bf6ddfc1260a Mon Sep 17 00:00:00 2001 From: Xavier Noria Date: Thu, 14 Aug 2008 01:44:42 +0200 Subject: in save! docs: added a note about what happens if AR::Rollback is raised somewhere in the callback chain --- activerecord/lib/active_record/base.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'activerecord') diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index d73d424339..cf7ae97452 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -2249,8 +2249,10 @@ module ActiveRecord #:nodoc: create_or_update end - # Attempts to save the record, but instead of just returning false if it couldn't happen, it raises a - # RecordNotSaved exception + # Attempts to save the record, but instead of just returning false if it couldn't happen, it raises an + # ActiveRecord::RecordNotSaved exception. However, if the callback chain raises ActiveRecord::Rollback + # to rollback the transaction that wraps save! no exception is raised, save! just + # returns +nil+. See ActiveRecord::Callbacks for further details. def save! create_or_update || raise(RecordNotSaved) end -- cgit v1.2.3