v4.0.2 - Show latest stable - 0 notes - Class: ClassMethods
instantiate(record, column_types = {}) public

Given an attributes hash, instantiate returns a new instance of the appropriate class.

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.

Show source
Register or log in to add new notes.