diff options
author | dm1try <dmitry.dedov@tut.by> | 2013-11-11 19:41:54 +0300 |
---|---|---|
committer | dm1try <dmitry.dedov@tut.by> | 2013-11-11 19:53:02 +0300 |
commit | dbb7ee1bfd16d9aabd3b3ed1a566c8752e9af3c0 (patch) | |
tree | 5876bd466300396612893a17e6746f9cabf049cc /activerecord/lib/active_record | |
parent | b31b6e669935cfa7e88e75c02dbd0892d1b9853e (diff) | |
download | rails-dbb7ee1bfd16d9aabd3b3ed1a566c8752e9af3c0.tar.gz rails-dbb7ee1bfd16d9aabd3b3ed1a566c8752e9af3c0.tar.bz2 rails-dbb7ee1bfd16d9aabd3b3ed1a566c8752e9af3c0.zip |
Prevent the counter cache from being decremented twice
when destroying a record on a has_many :through association.
:destroy method has own counter_cache callbacks.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/associations/has_many_through_association.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/has_many_through_association.rb b/activerecord/lib/active_record/associations/has_many_through_association.rb index 56331bbb0b..31b8d27892 100644 --- a/activerecord/lib/active_record/associations/has_many_through_association.rb +++ b/activerecord/lib/active_record/associations/has_many_through_association.rb @@ -163,7 +163,7 @@ module ActiveRecord delete_through_records(records) - if source_reflection.options[:counter_cache] + if source_reflection.options[:counter_cache] && method != :destroy counter = source_reflection.counter_cache_column klass.decrement_counter counter, records.map(&:id) end |