update(attribute_names = @attributes.keys)
private
Updates the associated record with values matching those of the instance
attributes. Returns the number of affected rows.
# File activerecord/lib/active_record/persistence.rb, line 354
def update(attribute_names = @attributes.keys)
attributes_with_values = arel_attributes_values(false, false, attribute_names)
return 0 if attributes_with_values.empty?
klass = self.class
stmt = klass.unscoped.where(klass.arel_table[klass.primary_key].eq(id)).arel.compile_update(attributes_with_values)
klass.connection.update stmt
end