Module: ActiveRecord::AttributeMethods::Write
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
::ActiveSupport::Concern
|
|
Defined in: | activerecord/lib/active_record/attribute_methods/write.rb |
Class Method Summary
::ActiveSupport::Concern
- Extended
Instance Method Summary
-
#write_attribute(attr_name, value)
Updates the attribute identified by
attr_name
with the specifiedvalue
.
DSL Calls
included
[ GitHub ]8 9 10
# File 'activerecord/lib/active_record/attribute_methods/write.rb', line 8
included do attribute_method_suffix "=" end
Instance Method Details
#write_attribute(attr_name, value)
# File 'activerecord/lib/active_record/attribute_methods/write.rb', line 35
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