共有YAMLファイルを使用してこの種の構成を保存し、個別にロードすることをお勧めします。たとえば、次のような名前のファイルがありますconfig/settings.yml
。
:callback_url: "http://somecallbackurl.com:12345/bla"
でconfig/deploy.rb
、次のことができます。
settings = YAML.load_file('config/settings.yml')
set :callback_url, settings[:callback_url]
そして、でconfig/initializers/settings.rb
、あなたは持つことができます:
settings = YAML.load_file('config/settings.yml')
CALLBACK_URL = settings[:callback_url]
最後に、ではapp/controllers/myapp.rb
、次のようにします。
def get_callback_url
CALLBACK_URL
end
共有YAMLファイルを使用することは、私が最初に考えたものです。別のアプローチは、rubyファイルでいくつかの定数を定義し、そのファイルを初期化子との両方で要求することですdeploy.rb
。基本的な考え方は、アプリをcapistrano環境に依存させたくないということです。そのため、共有構成を分離する方法を見つける必要があります。