instance method
increment!
Ruby on Rails 7.2.3
Since v3.0.20Signature
increment!(attribute, by = 1, touch: nil)
Wrapper around #increment that writes the update to the database. Only attribute is updated; the record itself is not saved. This means that any other modified attributes will still be dirty. Validations and callbacks are skipped. Supports the touch option from update_counters, see that for more. Returns self.
Parameters
-
attributereq -
byopt = 1 -
touchkey = nil
Source
# File activerecord/lib/active_record/persistence.rb, line 646
def increment!(attribute, by = 1, touch: nil)
increment(attribute, by)
change = public_send(attribute) - (public_send(:"#{attribute}_in_database") || 0)
self.class.update_counters(id, attribute => change, touch: touch)
public_send(:"clear_#{attribute}_change")
self
end
Defined in activerecord/lib/active_record/persistence.rb line 646
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Persistence