답변:
객체의 클래스에서 .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 객체의 경우는 아닙니다.