我正在嘗試檢索對象的類名。當我嘗試使用const_get時,我得到整個模型的表結構。所以我使用了下面的代碼。從Ruby中的對象中檢索類名
代碼
def classname(object)
return object.class.to_s.split("(")[0]
end
def classrating(object_id)
classtype = classname(object_id)
return classtype
end
腳本/控制檯
>> q = Question.new
=> #<Question id: nil, question_info: nil, profile_id: nil, rating: nil, created_at: nil, updated_at: nil>
>> Question.classname(q)
=> "Question"
>> Question.classrating(Question.classname(q))
=> "String"
>> q.class
=> Question(id: integer, question_info: string, profile_id: integer, rating: integer, created_at: datetime, updated_at: datetime)
正如你可以看到,當Question.classname被調用,它返回的問題,當相同的輸入我的問題叫.classrating,它返回String。我只是從Question.classname返回相同的輸出。
你能告訴我,我做錯了什麼,價值被改變了。
謝謝。
非常感謝你:) – felix 2010-06-26 22:08:41