app/models/application_record.rb
ApplicationRecord < ActiveRecord::Base
vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record.rb
35 module ActiveRecord
...
38 autoload :Base
vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/base.rb
277 class Base
...
310 include AttributeMethods
vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/attribute_methods.rb
395 def [](attr_name)
396 read_attribute(attr_name) { |n| missing_attribute(n, caller) }
397 end
...
409 def []=(attr_name, value)
410 write_attribute(attr_name, value)
411 end
vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/attribute_methods/read.rb
54 def read_attribute(attr_name, &block)
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
_read_attribute(name, &block)
65 end
vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/attribute_methods/write.rb
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)
46 end