我在教室里放了一节课:

module NetworkApi
  class NetworkProxy
  end
end

然后在另一个类中,我引用了这个类:
  network_proxy = ::NetworkApi::NetworkProxy.new(params)

在我的开发环境中,一切都正常运行,但当我部署到服务器时,在上面的行中会出现一个错误,并显示消息:
NameError: uninitialized constant NetworkApi::NetworkProxy

我不知道为什么会发生这种奇怪的错误。请告诉我为什么。

最佳答案

注意Rails 5 disables autoloading after booting the app in production
从链接的博客文章:
在生产环境中应用程序仍需要自动加载的罕见情况下,我们可以通过将enable_dependency_loading设置为true来启用它,如下所示:

# config/application.rb

config.enable_dependency_loading = true
config.autoload_paths << Rails.root.join('lib')`

09-25 20:27