我如何获得Ruby类的名称?
如何从ActiveRecord对象获取类名? 我有: result = User.find(1) 我试过了: result.class # => User(id: integer, name: string ...) result.to_s # => #<User:0x3d07cdc>" 我只需要字符串中的类名(在本例中为 User )。 有没有办法呢? 我知道这是非常基本的,但我搜索了Rails和Ruby的文档,我找不到它。 #1楼 这是正确答案,摘自Daniel Rikowski和pseidemann的评论。 我厌倦了通过评论来寻找合适的答案...... 如果您使用Rails(ActiveSupport): result.class.name.demodulize 如果你使用POR(普通红宝石): result.class.name.split('::').last #2楼 在我的情况下,当我使用类似 result.class.name 东西时,我得到了类似 Module1::class_name 东西。 但是如果我们只想要 class_name ,请使用 result.class.table_name.singularize #3楼 如果要从类方法中获取类名,则 class.name 或 self.class.name 将不起作用。 这些只会输出 Class ,因为类的类是