0

我希望能夠在我的.rb文件之外移動硬編碼的配置。在Rails中處理屬性/配置

我不希望有這樣的東西:

config.action_mailer.default_url_options = { 
     :host => 'www.mydomain.com', 
    } 

我需要它很容易不同的機器之間進行切換。 什麼是實現該目標的最佳途徑?

感謝

回答

0

通常配置的東西是打算留在裏面的.rb文件 - 這是實現在不同的環境不同的配置的最佳路徑。

所以,如果你有一個生產環境和測試環境,在beta.rb你必須:

config.action_mailer.default_url_options = { 
     :host => 'beta.mydomain.com', 
    } 

而且在production.rb你必須:

config.action_mailer.default_url_options = { 
     :host => 'www.mydomain.com', 
    } 

如果你試圖在別處存儲你的配置設置,你可能試圖改變設置,因爲你的部署環境不是靜態的(比如EC2,你可以通過不同的IP持續上下電腦)。在這種情況下,我建議您研究一下像rubberchef這樣的工具,它們提供編程方式來轉換配置文件。