我正在設置一些全局變量(用於設置devise
寶石授權定製)。所以,我在config/auth
文件夾中放置了一些文件auth_provider.rb
,我在這裏聲明瞭一些模塊MyAuth(在一些myauth.rb
文件中)。問題是,當該模塊由initializers
文件夾中的一些文件調用,調用它caller.rb
,讓我不得不把在application.rb
文件在rails應用程序初始化之前設置配置變量
config.before_initialize do
Dir["#{config.root}/config/auth/*.rb"].each {|file|
require file
}
end
但我不覺得很自然。並且,如果我將auth_provider.rb
放在initializers/auth
文件夾中,那麼caller.rb
似乎在auth_provider.rb
之前加載,所以我得到一些namespace error
(我認爲文件按字母順序加載)。那麼如何以更直接的方式加載auth_provider.rb
之前的caller.rb
?我應該創建一些initializers/0_auth
文件夾以便首先加載? (順便說一句,我希望這個配置模塊化,並保持它與其他'正確的'rails應用程序配置變量聲明分開)
謝謝!你認爲還有其他方法可以做到這一點嗎?你怎麼看待我在'application.rb'中調用了一些負載? – Newben
你爲什麼要找其他方法?即使您手動(通過自定義腳本)導入它們,您也必須自己定義一個訂單。使用這個文件名可能看起來是任意的,但是通過查看目錄中的文件,這些數字使得人們很容易評估哪個腳本被首先調用。 – Martin