0
目前,我正在開發使用rails 3 *和ruby 1.9.3開發的應用程序。我已經在初始化程序部分爲每個環境配置了一些電子郵件地址作爲YML文件。用rails應用程序配置電子郵件地址的更好方法
但是,需求不斷變化(但每個月會發生一次或兩次),需要從配置中添加/刪除電子郵件地址。因此,我需要在每次更改時重新啓動服務器。因爲我在初始化程序中配置了這些地址。
有沒有更好的方法來處理這種情況?
目前,我正在開發使用rails 3 *和ruby 1.9.3開發的應用程序。我已經在初始化程序部分爲每個環境配置了一些電子郵件地址作爲YML文件。用rails應用程序配置電子郵件地址的更好方法
但是,需求不斷變化(但每個月會發生一次或兩次),需要從配置中添加/刪除電子郵件地址。因此,我需要在每次更改時重新啓動服務器。因爲我在初始化程序中配置了這些地址。
有沒有更好的方法來處理這種情況?
如果您想在不重新部署/重新啓動服務器的情況下更改電子郵件,則始終可以創建Email
模型並將其保存到數據庫中。例如,通過添加current
字段/列(布爾值)和範圍scope :current, -> { where(current: true) }
,您可以通過Email.current.first.address
訪問電子郵件。您可能需要確保在任何給定時間只有一個「當前」電子郵件對象存在。
編輯
config/environments/production.rb
中設置config.cache_classes = true
,並在config目錄之外(在某些型號或控制器中)指定電子郵件地址,如EMAIL = '[email protected]'
。您必須更改每臺生產計算機上的生產代碼,而無需重新啓動服務器。聽起來很哈克。查看零宕機時間,部署更加優雅的解決方案。重新部署應該便宜且無痛。
感謝您的回覆。但是,這不是我想要的。我不喜歡爲此創建任何模型和UI部分。無論如何,我會更新我的問題。 –
用一些想法更新了我的回覆 –