aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/locking
diff options
context:
space:
mode:
authorNick Rogers <ncrogers@gmail.com>2012-03-07 17:16:21 -0500
committerNick Rogers <ncrogers@gmail.com>2012-11-13 10:36:24 -0800
commit05e1466e059a12bddd066a9f22ca575d81cfc21d (patch)
tree5bb201db68f6a8d422169e40fb6976f6264e0855 /activerecord/lib/active_record/locking
parent5ed0381db5e6dff1269f3f22ec4fa69c203c37d9 (diff)
downloadrails-05e1466e059a12bddd066a9f22ca575d81cfc21d.tar.gz
rails-05e1466e059a12bddd066a9f22ca575d81cfc21d.tar.bz2
rails-05e1466e059a12bddd066a9f22ca575d81cfc21d.zip
Fix deleting from a HABTM join table upon destroying an object of a model with optimistic locking enabled. Fixes #5332.
Diffstat (limited to 'activerecord/lib/active_record/locking')
-rw-r--r--activerecord/lib/active_record/locking/optimistic.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/locking/optimistic.rb b/activerecord/lib/active_record/locking/optimistic.rb
index 7deac2588a..b2881991d5 100644
--- a/activerecord/lib/active_record/locking/optimistic.rb
+++ b/activerecord/lib/active_record/locking/optimistic.rb
@@ -102,6 +102,8 @@ module ActiveRecord
def destroy #:nodoc:
return super unless locking_enabled?
+ destroy_associations
+
if persisted?
table = self.class.arel_table
lock_col = self.class.locking_column