aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorGabe da Silveira <gabe@websaviour.com>2009-08-09 13:16:57 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2009-08-09 21:18:16 -0700
commit7e3364ac4634f7017305c4bc725710ab0e7ba4c2 (patch)
treea8a074d7d28a408e9d0ab9cdc624fd7802120901 /activerecord/lib
parent5704ecffadffa04981ec5999c362cb691d4a676e (diff)
downloadrails-7e3364ac4634f7017305c4bc725710ab0e7ba4c2.tar.gz
rails-7e3364ac4634f7017305c4bc725710ab0e7ba4c2.tar.bz2
rails-7e3364ac4634f7017305c4bc725710ab0e7ba4c2.zip
Fix that counter_cache breaks with has_many :dependent => :nullify.
[#1196 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/associations/has_many_association.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/associations/has_many_association.rb b/activerecord/lib/active_record/associations/has_many_association.rb
index e4b631bc54..73d3c23cd3 100644
--- a/activerecord/lib/active_record/associations/has_many_association.rb
+++ b/activerecord/lib/active_record/associations/has_many_association.rb
@@ -74,6 +74,7 @@ module ActiveRecord
"#{@reflection.primary_key_name} = NULL",
"#{@reflection.primary_key_name} = #{owner_quoted_id} AND #{@reflection.klass.primary_key} IN (#{ids})"
)
+ @owner.class.update_counters(@owner.id, cached_counter_attribute_name => -records.size) if has_cached_counter?
end
end