鉴于此
module Site
class Translation < ApplicationRecord
为什么此代码返回 false?
2.4.0 :094 > Site::Translation.is_a? ApplicationRecord
=> false
如果
2.4.0 :093 > Site::Translation.superclass
=> ApplicationRecord(abstract)
Site::Translation.is_a?
对真实有什么反应?
这是因为Site::Translation
对象是类,所以它属于Class
类,它不继承自ApplicationRecord
。如果您在此类的实际实例上尝试相同的技巧,它将返回true
,如您所料:
Site::Translation.new.is_a?(ApplicationRecord)
# => true