Method: ActiveRecord::Persistence#update_attribute!

Defined in:
activerecord/lib/active_record/persistence.rb

#update_attribute!(name, value) ⇒ Object

Updates a single attribute and saves the record. This is especially useful for boolean flags on existing records. Also note that

  • Validation is skipped.

  • Callbacks are invoked.

  • updated_at/updated_on column is updated if that column is available.

  • Updates all the attributes that are dirty in this object.

This method raises an ActiveRecord::ActiveRecordError if the attribute is marked as readonly.

If any of the before_* callbacks throws :abort the action is cancelled and #update_attribute! raises ActiveRecord::RecordNotSaved. See ActiveRecord::Callbacks for further details.



552
553
554
555
556
557
558
# File 'activerecord/lib/active_record/persistence.rb', line 552

def update_attribute!(name, value)
  name = name.to_s
  verify_readonly_attribute(name)
  public_send("#{name}=", value)

  save!(validate: false)
end