aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorMichael Lovitt <michael@lovitt.net>2009-01-09 18:09:50 -0500
committerMichael Koziarski <michael@koziarski.com>2009-01-16 10:11:58 +1300
commit7a0e7c7270548138a333bc39aab5aec80580174b (patch)
tree393b3c37e3ef4959a2ddba44655207a65adeee4a /activerecord/lib
parentc891d685de9a729332836751c1293770b86a1b52 (diff)
downloadrails-7a0e7c7270548138a333bc39aab5aec80580174b.tar.gz
rails-7a0e7c7270548138a333bc39aab5aec80580174b.tar.bz2
rails-7a0e7c7270548138a333bc39aab5aec80580174b.zip
Fixed broken after_save callback; was being called when before_create was canceled or before_update was canceled
Signed-off-by: Michael Koziarski <michael@koziarski.com> [#1735 state:committed]
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/callbacks.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/callbacks.rb b/activerecord/lib/active_record/callbacks.rb
index 42bfe34505..9f5384d39a 100644
--- a/activerecord/lib/active_record/callbacks.rb
+++ b/activerecord/lib/active_record/callbacks.rb
@@ -219,8 +219,9 @@ module ActiveRecord
def after_save() end
def create_or_update_with_callbacks #:nodoc:
return false if callback(:before_save) == false
- result = create_or_update_without_callbacks
- callback(:after_save)
+ if result = create_or_update_without_callbacks
+ callback(:after_save)
+ end
result
end
private :create_or_update_with_callbacks