在寫一個rails 4應用程序的原因我最近一直想知道在哪裏以及如何存儲自定義配置信息?具體來說,我的意思是像應用標題,特殊電子郵件地址,或許主題選項等,我想在整個我的應用程序中使用環境變量或其他結構引用等。我一直在周圍挖一點, - 部署前 - 最後用一記漂亮的初始化建立這樣如何正確存儲和訪問全局應用配置設置?
require 'ostruct'
all_config = YAML.load_file("#{Rails.root}/config/app_config.yml") || {}
env_config = all_config[Rails.env] || {}
AppConfig = OpenStruct.new(env_config)
其內容如下YAML文件(app_config.yml)的OpenStruct
default: &default
general:
app_title: MyName
maintainer_email_address: [email protected]
development:
<<: *default
test:
<<: *default
production:
<<: *default
在開發過程中,我非常高興通過AppConfig.general.*
訪問我必須訪問的所有內容,但不幸的是,這並不適用於生產環境,嘗試啓動服務器/控制檯最終導致了Uninitialized constant AppConfig
-錯誤。
現在我有兩個到三個問題:
1)可我認爲這並不在生產,由於文件,其中production.rb
近前加載初始化(的加載順序工作 - >的AppConfig作爲全局變量不存在)
2)如果是:爲什麼這個工作在開發中?那裏有什麼不同?
3)存儲上述信息的最佳做法是什麼?我的願望是能夠通過某種用戶/管理界面舒適地獲取和設置這些信息。從那裏我不想惹我的環境 - 文件太難...
好吧,我希望有人能幫助我,在此先感謝! Andi
http://stackoverflow.com/questions/2127960/ruby-on-rails-storing-application-configuration/40306232#40306232 – prograils
感謝您的提示。不幸的是,它不回答問題1和2.你有任何線索嗎? –