获取 class 直接 class 的名称,而不是完整的 class 名称。 ruby
get class name of the immediate class, not full class name. ruby
module A
module B
class C < A::Base
def some_method
end
end
end
end
如何获得 class 名称 "C",因为当我引用 class 名称时,.name
,我得到 A::B::C
在 Rails 中,您可以这样做:A::B::C.name.demodulize
。
示例:
Loading development environment (Rails 4.2.7.1)
[1] pry(main)> module A
[1] pry(main)* class Base;end
[1] pry(main)* module B
[1] pry(main)* class C < A::Base
[1] pry(main)*
[1] pry(main)* def some_method
[1] pry(main)*
[1] pry(main)* end
[1] pry(main)* end
[1] pry(main)* end
[1] pry(main)* end
=> :some_method
[2] pry(main)> A::B::C.name.demodulize
=> "C"
[3] pry(main)>
的文档
Removes the module part from the constant expression in the string.
module A
module B
class C < A::Base
def some_method
end
end
end
end
如何获得 class 名称 "C",因为当我引用 class 名称时,.name
,我得到 A::B::C
在 Rails 中,您可以这样做:A::B::C.name.demodulize
。
示例:
Loading development environment (Rails 4.2.7.1)
[1] pry(main)> module A
[1] pry(main)* class Base;end
[1] pry(main)* module B
[1] pry(main)* class C < A::Base
[1] pry(main)*
[1] pry(main)* def some_method
[1] pry(main)*
[1] pry(main)* end
[1] pry(main)* end
[1] pry(main)* end
[1] pry(main)* end
=> :some_method
[2] pry(main)> A::B::C.name.demodulize
=> "C"
[3] pry(main)>
的文档
Removes the module part from the constant expression in the string.