什么是最容易知道类是否是ActiveRecord类的方法?

时间:2017-03-28 21:02:29

标签: ruby class

所以我知道我可以做到

 Class.new.is_a?(ActiveRecord::Base)

有没有办法知道它没有实例化它是什么类?是否有任何缺点来实例化它只是为了找出它的类型?

2 个答案:

答案 0 :(得分:3)

您可以使用Module#<

SomeKlass < ActiveRecord::Base
=> true

另外,如果您想将ActiveRecord::Base本身包含在结果中,可以使用Module#<=

ActiveRecord::Base <= ActiveRecord::Base
=> true

答案 1 :(得分:1)

您可以使用Class.ancestors获取班级的所有祖先。那么你可以做什么来检查类型而不实例化类

Class.ancestors.include?(ActiveRecord::Base)