method
compute_class
v7.1.3.2 -
Show latest stable
- Class:
ActiveRecord::Reflection::AssociationReflection
compute_class(name)public
No documentation available.
# File activerecord/lib/active_record/reflection.rb, line 462
def compute_class(name)
if polymorphic?
raise ArgumentError, "Polymorphic associations do not support computing the class."
end
begin
klass = active_record.send(:compute_type, name)
rescue NameError => error
if error.name.match?(/(?:\A|::)#{name}\z/)
message = "Missing model class #{name} for the #{active_record}##{self.name} association."
message += " You can specify a different model class with the :class_name option." unless options[:class_name]
raise NameError.new(message, name)
else
raise
end
end
unless klass < ActiveRecord::Base
raise ArgumentError, "The #{name} model class for the #{active_record}##{self.name} association is not an ActiveRecord::Base subclass."
end
klass
end