给出这个
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?
对“真”有何反应?
答案 0 :(得分:0)
这是因为Site::Translation
对象是类,所以它属于Class
类,它不是从ApplicationRecord
继承的。如果您在此类的实际实例上尝试相同的技巧,它将如预期的那样返回true
:
Site::Translation.new.is_a?(ApplicationRecord)
# => true