Namespace
Methods
R
W
Instance Public methods
raw_write_attribute(attr_name, value)
write_attribute(attr_name, value)

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)

  unless column || @attributes.has_key?(attr_name)
    ActiveSupport::Deprecation.warn(
      "You're trying to create an attribute `#{attr_name}'. Writing arbitrary "              "attributes on a model is deprecated. Please just use `attr_writer` etc."
    )
  end

  @attributes[attr_name] = type_cast_attribute_for_write(column, value)
end