Я пытаюсь получить имя класса объекта.Когда я попытался использовать const_get, я получаю всю структуру таблицы модели.Поэтому я использовал следующий код.
Код
def classname(object)
return object.class.to_s.split("(")[0]
end
def classrating(object_id)
classtype = classname(object_id)
return classtype
end
Script / Console
>> 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, он возвращает Question, а когда тот же ввод, который я вызывал из Question.classrating, возвращает String.Я просто возвращаю тот же вывод из имени Question.classname.
Подскажите, пожалуйста, что я делаю неправильно, что значение изменилось.
Спасибо.