# 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 = if self.class.attribute_alias?(attr_name)
        self.class.attribute_alias(attr_name).to_s
      else
        attr_name.to_s
      end

      name = self.class.primary_key if name == "id".freeze && self.class.primary_key
      @attributes.write_from_user(name, value)
      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 51
    def attribute=(attribute_name, value)
      write_attribute(attribute_name, value)
    end