Methods
Instance Public methods
write_attribute(attr_name, value) Link
Updates the attribute identified by attr_name using the specified value. The attribute value will be type cast upon being read.
# 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