在Rails指南中,他們使用此代碼來加載路徑。在軌道中加載路徑?
$LOAD_PATH << path
ActiveSupport::Dependencies.load_paths << path
ActiveSupport::Dependencies.load_once_paths.delete(path)
我理解的第一個。這是紅寶石知道在哪裏需要文件。
但是第二個和第三個是什麼意思?
在Rails指南中,他們使用此代碼來加載路徑。在軌道中加載路徑?
$LOAD_PATH << path
ActiveSupport::Dependencies.load_paths << path
ActiveSupport::Dependencies.load_once_paths.delete(path)
我理解的第一個。這是紅寶石知道在哪裏需要文件。
但是第二個和第三個是什麼意思?
是的,第一行是Ruby本身(也是$:
)。第二個與第一個非常相似,但對於ActiveSupport。
load_once_paths Rails將從其中自動加載一次的路徑數組。此數組的所有元素也必須位於load_paths中。
load_paths要加載到加載路徑的其他路徑數組。默認情況下,所有應用程序,lib,供應商和模擬路徑都包含在此列表中。
因此,如果您需要重新加載您的依賴關係每個新的請求,請不要將它們添加到load_once_paths
目錄之一。
在Rails 3.0中,load_once_paths已被重命名爲autoload_once_paths,並且load_paths已被重命名爲autoload_once_paths。
我剛剛閱讀了一些關於此的帖子,告訴我這不再適用於Rails 3 RC。 – 2010-08-05 06:25:11
是的,這是真的。 – 2010-08-05 06:35:32
他們正在改造導軌3指南...我想他們正在根據新的變化更新一切。 – 2010-08-05 12:08:07