diff options
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/counter_cache.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/counter_cache.rb b/activerecord/lib/active_record/counter_cache.rb index 9355a2f7a7..020f4b872e 100644 --- a/activerecord/lib/active_record/counter_cache.rb +++ b/activerecord/lib/active_record/counter_cache.rb @@ -46,11 +46,11 @@ module ActiveRecord counter_name = reflection.counter_cache_column updates = { counter_name.to_sym => object.send(counter_association).count(:all) } + updates.merge!(touch_updates(object, touch)) if touch - unscoped.where(primary_key => object.id).update_all( - updates.merge(touch_updates(object, touch)) - ) + unscoped.where(primary_key => object.id).update_all(updates) end + return true end @@ -106,7 +106,7 @@ module ActiveRecord if touch object = find(id) - touch_updates(object, touch).map do |column, touch_time| + touch_updates(object, touch).each do |column, touch_time| updates << "#{connection.quote_column_name(column.to_s)} = #{connection.quote(touch_time)}" end end |