instance method find_sti_class

Ruby on Rails 5.0.7.2

Since v3.2.22.5 Private — implementation detail, not part of the public API

Available in: v3.2.22.5 v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3.2 v8.0.5.1 v8.1.3.1 edge

Signature

find_sti_class(type_name)

No documentation comment.

Parameters

type_name req
Source
# File activerecord/lib/active_record/inheritance.rb, line 173
      def find_sti_class(type_name)
        type_name = base_class.type_for_attribute(inheritance_column).cast(type_name)
        subclass = begin
          if store_full_sti_class
            ActiveSupport::Dependencies.constantize(type_name)
          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."
        end
        unless subclass == self || descendants.include?(subclass)
          raise SubclassNotFound, "Invalid single-table inheritance type: #{subclass.name} is not a subclass of #{name}"
        end
        subclass
      end

Defined in activerecord/lib/active_record/inheritance.rb line 173 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::Inheritance::ClassMethods

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close