instance method
write_attribute
Ruby on Rails edge
Since v3.0.20Signature
write_attribute(attr_name, value)
Updates the attribute identified by attr_name using the specified value. The attribute value will be type cast upon being read.
Parameters
-
attr_namereq -
valuereq
Source
# File activerecord/lib/active_record/attribute_methods/write.rb, line 31
def write_attribute(attr_name, value)
name = attr_name.to_s
name = self.class.attribute_aliases[name] || name
return @attributes.write_from_user(name, value) unless name == "id" && @primary_key
if self.class.composite_primary_key?
@attributes.write_from_user("id", value)
else
if @primary_key != "id"
ActiveRecord.deprecator.warn(<<-MSG.squish)
Using write_attribute(:id, value) to write the primary key value is deprecated
and will be removed in Rails 9.0. Use #id= instead.
MSG
end
@attributes.write_from_user(@primary_key, value)
end
end
Defined in activerecord/lib/active_record/attribute_methods/write.rb line 31
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::AttributeMethods::Write