【发布时间】:2016-11-07 00:13:35
【问题描述】:
我已将我的一个应用程序从 Rails 4.2.6 升级到 Rails 5.0.0。 Upgrade Guide 表示,自动加载功能现在在生产中默认禁用。
现在我的生产服务器上总是出现错误,因为我在 application.rb 文件中使用自动加载加载了所有 lib 文件。
module MyApp
class Application < Rails::Application
config.autoload_paths += %W( lib/ )
end
end
目前,我已将config.enable_dependency_loading 设置为true,但我想知道是否有更好的解决方案。生产环境中默认禁用自动加载肯定是有原因的。
【问题讨论】:
-
疯狂的事情,文档仍然告诉你做 auto_load。我很困惑新应用程序的生产环境中出了什么问题。自从我开始学习 Rails 5 以来,我没有阅读迁移指南。我提交了一个文档问题,希望能解决这个问题:github.com/rails/rails/issues/27268
-
令人惊讶的是,我在
lib目录中有两个文件,一个文件在运行时很容易获得,但另一个必须手动要求:D -
@Tobias 你最终得到了什么解决方案?
-
-
这是关于正确的文件路径和类定义这对我来说在 Rails 5.2 中有用:文件路径:
app/services/paylinx/paylinx_service.rb类定义:module Paylinx class PaylinxService end end。我试过这些autoload_paths的东西。对我不起作用。
标签: ruby-on-rails autoload ruby-on-rails-5