Ruby on rails 强制重新加载自动加载的库文件所需的库文件

Ruby on rails 强制重新加载自动加载的库文件所需的库文件,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,Rails 3.2.3。我的自动加载路径中有一个带有/lib的Rails应用程序。我的一个库文件需要一堆这样的文件 Dir[Rails.root.join("lib/foo/*.rb")].each { |f| require f } 在开发中,如果我更改这些文件,它们不会重新加载。例如,如果修改/lib/foo/bar.rb,则必须重新启动服务器才能看到这些更改。有人能建议一种方法,以便在每次请求时正确地重新加载这些文件吗?如果自动加载路径中有这些文件: config.autoload_pa

Rails 3.2.3。我的自动加载路径中有一个带有
/lib
的Rails应用程序。我的一个库文件需要一堆这样的文件

Dir[Rails.root.join("lib/foo/*.rb")].each { |f| require f }

在开发中,如果我更改这些文件,它们不会重新加载。例如,如果修改
/lib/foo/bar.rb
,则必须重新启动服务器才能看到这些更改。有人能建议一种方法,以便在每次请求时正确地重新加载这些文件吗?

如果自动加载路径中有这些文件:

config.autoload_paths += %W(#{config.root}/lib)

那你就不需要他们了。你试过了吗?

require
与rails的自动加载系统配合得不太好


require\u dependency
将执行require所做的大部分工作,但将自动加载系统保持在循环中,以便在请求结束时卸载加载的常量。您可能需要确保文件位于rails的自动加载路径中

您必须添加或取消注释该行

config.autoload_路径+=%W(#{config.root}/lib)


对于config/Application.rb中的应用程序类,您有一个尾部参数!一旦我删除了
require
,如果模块文件发生更改,就会自动重新加载。谢谢@Frederick Cheung