如果我给你:
module Something
module SomethingElse
class Foo
end
end
end
如何获得“Foo”的班级名称?在控制台中,我有类似于示例的内容,但当我在其上.name
时,它不会打印出我期望的内容。
这是我的控制台中的内容:
pry(main)> AisisWriter::Controllers::CommentsManagement::CommentsHandler.name
=> "AisisWriter::Controllers::CommentsManagement::CommentsHandler"
我期待的只是“CommentsHandler”
答案 0 :(得分:5)
你可以这样做:
AisisWriter::Controllers::CommentsManagement::CommentsHandler.name.split('::').last || ''
答案 1 :(得分:1)
如果您包含ActiveSupport,请尝试使用demodulize
方法
http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html
答案 2 :(得分:0)
这很简单。
AisisWriter::Controllers::CommentsManagement::CommentsHandler.name.split(':').last