답변:
객체의 클래스에서 .name 을 호출하려고합니다 .
result.class.name
result.class.name.split('::').last
result.class.name.demodulize
User.name
. User.to_s
또한 작동하는 것 같습니다.
당신은 클래스 메소드 내부에서 클래스 이름을 얻고 싶은 경우에, class.name
또는 self.class.name
작동하지 않습니다. 이것들은 단지 Class
클래스의 클래스가 있기 때문에 출력됩니다 Class
. 대신 다음을 사용할 수 있습니다 name
.
module Foo
class Bar
def self.say_name
puts "I'm a #{name}!"
end
end
end
Foo::Bar.say_name
산출:
I'm a Foo::Bar!
Object#class.inspect
동일Object#class.name
하지만 ActiveRecord 객체의 경우는 아닙니다.