我在我的Question
模型中有一個descendants
方法來返回所有繼承它的對象。object.class在Ruby中返回意外的結果
class Question < ActiveRecord::Base
class << self
def descendants
ObjectSpace.each_object(Class).select do |klass|
klass < self
end
end
end
end
當我打電話Question.descendants
我回來數組瓦特/單個對象
[MultipleChoice(id: integer, text: text, scored: boolean, required: boolean, type: string, questionnaire_id: integer, created_at: datetime, updated_at: datetime)]
的問題是,當我叫Question.descendants.first.class
我回來Class
而不是預期的MultipleChoice
。
這是怎麼發生的?