Namespace
Methods
Instance Public methods
Updates the attribute identified by attr_name
with the
specified value
. Empty strings for fixnum and float columns
are turned into nil
.
Also aliased as: raw_write_attribute
# File activerecord/lib/active_record/attribute_methods/write.rb, line 25 def write_attribute(attr_name, value) attr_name = attr_name.to_s attr_name = self.class.primary_key if attr_name == 'id' && self.class.primary_key @attributes_cache.delete(attr_name) column = column_for_attribute(attr_name) if column || @attributes.has_key?(attr_name) @attributes[attr_name] = type_cast_attribute_for_write(column, value) else raise ActiveModel::MissingAttributeError, "can't write unknown attribute `#{attr_name}'" end end