instance method
sti_class_for
Ruby on Rails 8.0.4
Since v6.1.7.10Signature
sti_class_for(type_name)
Returns the class for the provided type_name.
It is used to find the class correspondent to the value stored in the inheritance column.
Parameters
-
type_namereq
Source
# File activerecord/lib/active_record/inheritance.rb, line 194
def sti_class_for(type_name)
if store_full_sti_class && store_full_class_name
type_name.constantize
else
compute_type(type_name)
end
rescue NameError
raise SubclassNotFound,
"The single-table inheritance mechanism failed to locate the subclass: '#{type_name}'. " \
"This error is raised because the column '#{inheritance_column}' is reserved for storing the class in case of inheritance. " \
"Please rename this column if you didn't intend it to be used for storing the inheritance class " \
"or overwrite #{name}.inheritance_column to use another column for that information. " \
"If you wish to disable single-table inheritance for #{name} set " \
"#{name}.inheritance_column to nil"
end
Defined in activerecord/lib/active_record/inheritance.rb line 194
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Inheritance::ClassMethods