Method: ActiveRecord::CounterCache::ClassMethods#decrement_counter

Defined in:
lib/active_record/counter_cache.rb

#decrement_counter(counter_name, id) ⇒ Object

Decrement a numeric field by one, via a direct SQL update.

This works the same as increment_counter but reduces the column value by 1 instead of increasing it.

Parameters

  • counter_name - The name of the field that should be decremented.

  • id - The id of the object that should be decremented or an Array of ids.

Examples

# Decrement the post_count column for the record with an id of 5
DiscussionBoard.decrement_counter(:post_count, 5)


117
118
119
# File 'lib/active_record/counter_cache.rb', line 117

def decrement_counter(counter_name, id)
  update_counters(id, counter_name => -1)
end