method
increment_counter
v6.1.3.1 -
Show latest stable
- Class:
ActiveRecord::CounterCache::ClassMethods
increment_counter(counter_name, id, touch: nil)public
Increment a numeric field by one, via a direct SQL update.
This method is used primarily for maintaining counter_cache columns that are used to store aggregate values. For example, a DiscussionBoard may cache posts_count and comments_count to avoid running an SQL query to calculate the number of posts and comments there are, each time it is displayed.
Parameters
-
counter_name - The name of the field that should be incremented.
-
id - The id of the object that should be incremented or an array of ids.
-
:touch - Touch timestamp columns when updating. Pass true to touch updated_at and/or updated_on. Pass a symbol to touch that column or an array of symbols to touch just those ones.
Examples
# Increment the posts_count column for the record with an id of 5 DiscussionBoard.increment_counter(:posts_count, 5) # Increment the posts_count column for the record with an id of 5 # and update the updated_at value. DiscussionBoard.increment_counter(:posts_count, 5, touch: true)