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 33 def write_attribute(attr_name, value) name = resolve_alias(attr_name.to_s) 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