From 45940e7112cab8414b15baeb4ef5783247e9f576 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Thu, 12 Dec 2013 14:23:28 -0800 Subject: extract a method for updating without a record object --- .../active_record/associations/belongs_to_association.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'activerecord') diff --git a/activerecord/lib/active_record/associations/belongs_to_association.rb b/activerecord/lib/active_record/associations/belongs_to_association.rb index 2c5ad9d1c0..5ce2a5dcb7 100644 --- a/activerecord/lib/active_record/associations/belongs_to_association.rb +++ b/activerecord/lib/active_record/associations/belongs_to_association.rb @@ -15,7 +15,7 @@ module ActiveRecord set_inverse_instance(record) @updated = true else - update_counters(record) + update_counters_without_record remove_keys end @@ -42,11 +42,15 @@ module ActiveRecord return unless counter_cache_name && owner.persisted? - if record - update_with_record record, counter_cache_name - else - update_without_record counter_cache_name - end + update_with_record record, counter_cache_name + end + + def update_counters_without_record + counter_cache_name = reflection.counter_cache_column + + return unless counter_cache_name && owner.persisted? + + update_without_record counter_cache_name end def update_with_record record, counter_cache_name -- cgit v1.2.3