module ActiveRecord::AttributeMethods::Write
Public Instance Methods
write_attribute(attr_name, value)
click to toggle source
Updates the attribute identified by attr_name
with the
specified value
. Empty strings for Integer and Float columns
are turned into nil
.
# File lib/active_record/attribute_methods/write.rb, line 34 def write_attribute(attr_name, value) name = if self.class.attribute_alias?(attr_name) self.class.attribute_alias(attr_name).to_s else attr_name.to_s end primary_key = self.class.primary_key name = primary_key if name == "id".freeze && primary_key sync_with_transaction_state if name == primary_key _write_attribute(name, value) end
Private Instance Methods
attribute=(attribute_name, value)
click to toggle source
Handle *= for method_missing.
# File lib/active_record/attribute_methods/write.rb, line 62 def attribute=(attribute_name, value) _write_attribute(attribute_name, value) end
write_attribute_without_type_cast(attr_name, value)
click to toggle source
# File lib/active_record/attribute_methods/write.rb, line 55 def write_attribute_without_type_cast(attr_name, value) name = attr_name.to_s @attributes.write_cast_value(name, value) value end