导轨 3.2.3。/lib
我的自动加载路径中有一个 Rails 应用程序。我的一个库文件需要一堆像这样的文件
Dir[Rails.root.join("lib/foo/*.rb")].each { |f| require f }
在开发中,如果我更改这些文件,它们不会重新加载。例如,如果我修改/lib/foo/bar.rb
,我将不得不重新启动服务器才能看到这些更改。任何人都可以提出一种方法,以便在每次请求时正确重新加载它们吗?
导轨 3.2.3。/lib
我的自动加载路径中有一个 Rails 应用程序。我的一个库文件需要一堆像这样的文件
Dir[Rails.root.join("lib/foo/*.rb")].each { |f| require f }
在开发中,如果我更改这些文件,它们不会重新加载。例如,如果我修改/lib/foo/bar.rb
,我将不得不重新启动服务器才能看到这些更改。任何人都可以提出一种方法,以便在每次请求时正确重新加载它们吗?
require
不能很好地与 rails 的自动加载系统配合使用。
require_dependency
将做几乎需要做的事情,但将自动加载系统保持在循环中,以便加载的常量将在请求结束时卸载。您可能需要确保文件位于 rails 的自动加载路径中
您必须添加或取消注释该行。
config.autoload_paths += %W(#{config.root}/lib)
到 config/application.rb 中的 Application 类