class method
self.instantiate
Ruby on Rails 3.1.12
Since v2.2.3 Last seen in v3.1.12Signature
self.instantiate(record)
Finder methods must instantiate through this method to work with the single-table inheritance model that makes it possible to create objects of different types from the same table.
Parameters
-
recordreq
Source
# File activerecord/lib/active_record/base.rb, line 952
def instantiate(record)
sti_class = find_sti_class(record[inheritance_column])
record_id = sti_class.primary_key && record[sti_class.primary_key]
if ActiveRecord::IdentityMap.enabled? && record_id
instance = use_identity_map(sti_class, record_id, record)
else
instance = sti_class.allocate.init_with('attributes' => record)
end
instance
end
Defined in activerecord/lib/active_record/base.rb line 952
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Base