instance method
instantiate
Ruby on Rails 7.1.6
Since v4.0.13Signature
instantiate(attributes, column_types = {}, &block)
Given an attributes hash, instantiate returns a new instance of the appropriate class. Accepts only keys as strings.
For example, Post.all may return Comments, Messages, and Emails by storing the record’s subclass in a type attribute. By calling instantiate instead of new, finder methods ensure they get new instances of the appropriate class for each record.
See ActiveRecord::Inheritance#discriminate_class_for_record to see how this “single-table” inheritance mapping is implemented.
Parameters
-
attributesreq -
column_typesopt = {} -
blockblock
Source
# File activerecord/lib/active_record/persistence.rb, line 376
def instantiate(attributes, column_types = {}, &block)
klass = discriminate_class_for_record(attributes)
instantiate_instance_of(klass, attributes, column_types, &block)
end
Defined in activerecord/lib/active_record/persistence.rb line 376
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Persistence::ClassMethods