所以我知道我可以做到
Class.new.is_a?(ActiveRecord::Base)
有没有办法知道它没有实例化它是什么类?是否有任何缺点来实例化它只是为了找出它的类型?
答案 0 :(得分:3)
您可以使用Module#<
:
SomeKlass < ActiveRecord::Base
=> true
另外,如果您想将ActiveRecord::Base
本身包含在结果中,可以使用Module#<=
:
ActiveRecord::Base <= ActiveRecord::Base
=> true
答案 1 :(得分:1)
您可以使用Class.ancestors
获取班级的所有祖先。那么你可以做什么来检查类型而不实例化类
Class.ancestors.include?(ActiveRecord::Base)