instance method sti_class_for

Ruby on Rails 8.0.4

Since v6.1.7.10

Available in: v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

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_name req
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

Type at least 2 characters to search.

↑↓ navigate · open · esc close