早上好,我们在使用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