Rails 3.2.3。我的自動加載路徑中有一個帶有/lib
的Rails應用程序。我的一個庫文件是需要一堆文件,像這樣強制重新加載自動加載庫文件所需的庫文件
Dir[Rails.root.join("lib/foo/*.rb")].each { |f| require f }
在發展,如果我改變他們的文件不重裝。例如,如果我修改/lib/foo/bar.rb
,我將不得不重新啓動服務器以查看這些更改。任何人都可以提出一種方法,以便在每次請求時都能正確地重新加載?
Rails 3.2.3。我的自動加載路徑中有一個帶有/lib
的Rails應用程序。我的一個庫文件是需要一堆文件,像這樣強制重新加載自動加載庫文件所需的庫文件
Dir[Rails.root.join("lib/foo/*.rb")].each { |f| require f }
在發展,如果我改變他們的文件不重裝。例如,如果我修改/lib/foo/bar.rb
,我將不得不重新啓動服務器以查看這些更改。任何人都可以提出一種方法,以便在每次請求時都能正確地重新加載?
require
與rails的自動加載系統無法很好地發揮作用。
require_dependency
會做幾乎所需的事情,但會將自動加載系統保留在循環中,以便在請求結束時將加載的常量卸載。您可能需要確保文件在導軌的自動載入路徑中
一旦我刪除'需要'重新加載自動發生如果模塊文件改變。謝謝@Frederick Cheung –
您必須添加或取消註釋該行。
config.autoload_paths + =%W(#{} config.root/lib目錄)
到您的應用程序類中的config/application.rb中
你有一個尾隨括號! – Excalibur