write_attribute(attr_name, value)
public
Updates the attribute identified by attr_name with the specified
value. Empty strings for fixnum and float columns are turned into
nil.
# 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'
@attributes_cache.delete(attr_name)
if (column = column_for_attribute(attr_name)) && column.number?
@attributes[attr_name] = convert_number_column_value(value)
else
@attributes[attr_name] = value
end
end