find_sti_class(type_name) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide 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
Register or log in to add new notes.