ruby-on-rails – 使用Sidekiq和模块命名模式时的循环依赖性问题

早上好,我们在使用Sidekiq处理我们的队列时遇到了烦人的问题.问题似乎发生在我们第一次执行Sidekiq(急切加载资源)和生产环境时.

基本上我们在模块中分隔我们的类以具有更好的命名模式.

这是一个示例模块,问题发生了

module MyApp
  module APIIntegration
    class Client          
       def driver
         @driver ||= MyApp::APIIntegration::Driver.new
       end  
    end
  end
end 

我们得到“自动加载常量MyApp :: APIIntegration :: Driver时检测到循环依赖”

知道为什么会这样吗?我们应该通过调用Driver而不是完全限定名称来引用驱动程序吗?我可以尝试重现这个问题?

任何建议都是受欢迎的,非常感谢

最佳答案 它应该是这样的

module MyApp
  module APIIntegration
    class Client          
       def driver
         @driver ||= Driver.new
       end  
    end
  end
end 
点赞