Ruby on rails 如何从lib目录调用名称空间类

Ruby on rails 如何从lib目录调用名称空间类,ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,我试图调用的lib目录中有一个3级的类,但是我得到一个未初始化的常量错误。我的类和目录结构如下所示: 文件名:lib/my_module/my_second_module/my_third_module/my_class.rb module my_module module my_second_module module my_third_module class my_class def self.something do somet

我试图调用的lib目录中有一个3级的类,但是我得到一个未初始化的常量错误。我的类和目录结构如下所示:

文件名:lib/my_module/my_second_module/my_third_module/my_class.rb

module my_module
  module my_second_module
    module my_third_module
      class my_class
        def self.something
          do something...
        end
      end
    end
  end
end
我试图使用rails控制台调用这个类,但它返回“未初始化常量my_module”。我运行此命令并得到以下错误:

MyModule::MySecondModule::MyThirdModule::MyClass.something
我还在config/application.rb中包含了以下内容

config.autoload_paths += Dir["#{config.root}/lib/my_module/**/"]

尝试
::MyModule::MySecondModule::MyThirdModule::MyClass。我使用另一种方法将模块加载到lib文件夹中,解决了我的问题。出于某种原因,我没有加载我的lib文件:

config.to_prepare do
  Dir.glob(File.join(File.dirname(__FILE__), "../lib/my_module/**/*.rb")) do |c|
    Rails.configuration.cache_classes ? require(c) : load(c)
  end
end

它还在抱怨第一个模块NameError:未初始化的常量MyModule