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 31 def write_attribute(attr_name, value) name = attr_name.to_s name = self.class.attribute_aliases[name] || name name = @primary_key if name == "id" && @primary_key _write_attribute(name, value) end
Private Instance Methods
attribute=(attribute_name, value)
click to toggle source
Dispatch target for *=
attribute methods.
# File lib/active_record/attribute_methods/write.rb, line 55 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 48 def write_attribute_without_type_cast(attr_name, value) sync_with_transaction_state if @transaction_state&.finalized? @attributes.write_cast_value(attr_name.to_s, value) value end