如何在没有命名空间的情况下调用Ruby类

Pau*_*aul 3 ruby namespaces ruby-on-rails

Rails应用程序中有两个类:一个是命名空间,另一个是 - 没有.两者都有相同的名称.

如何在命名空间内调用没有命名空间的类?

class MyClass < ActiveRecord::Base
end

module MyNamespace
    class MyClass < Base
    end

    class OtherClass < Base
       def some_method
           #Intend to create MyClass model, but MyNamespace::MyClass is created
           mobj = MyClass
       end
    end
end
Run Code Online (Sandbox Code Playgroud)

spi*_*ann 9

要打破当前的命名空间,只需写:

mobj = ::MyClass
Run Code Online (Sandbox Code Playgroud)