我如何得到一个Ruby类的名字?
我如何从ActiveRecord对象获取类名?
我有:
result = User.find(1)
我试过了:
result.class # => User(id: integer, name: string ...) result.to_s # => #<User:0x3d07cdc>"
我只需要类名,在一个string( User
在这种情况下)。 有没有一种方法呢?
我知道这是非常基本的,但是我search了Rails和Ruby的文档,我找不到它。
你想在对象的类上调用.name :
result.class.name
这是从Daniel Rikowski和pseidemann的评论中提取的正确答案。 我厌倦了通过评论来寻找正确的答案…
如果您使用Rails(ActiveSupport):
result.class.name.demodulize
如果你使用POR(普通 – ruby):
result.class.name.split('::').last
result.class.to_s
和result.class.name
工作。