2010-08-20 45 views

回答

4

您可能將東西添加到應該在初始化程序中的環境文件中。檢查config/initializers目錄中的一些示例。這應該允許你分解事情,並使一切更有條理。

+0

有趣!初始化程序中應該包含什麼以及環境中應該包含哪些內容?什麼是「正確的軌道」方式? – 2010-08-21 02:36:59

+0

我通常使用environment.rb文件進行設置,例如'config.gem ...'。任何不是特定於環境的東西都會在初始化程序中進行。 http://ryandaigle.com/articles/2007/2/23/what-s-new-in-edge-rails-stop-littering-your-evnrionment-rb-with-custom-initializations – 2010-08-22 19:27:56

1

Rails實際上使用eval加載特殊環境文件,如config/environments/development.rb。這是它的代碼使用:

eval(IO.read(configuration.environment_path), binding, configuration.environment_path) 

你可以定義一個方法如load_more_environment這樣的:

def load_more_environment(path) 
    eval(IO.read(path), binding, path) 
end 

的第一個參數eval就是要加載的代碼,它會被執行在當前binding之內。第三個參數將用於報告文件中的語法錯誤。

+0

這很有意思。謝謝! =) – 2010-08-21 02:52:46

相關問題