我相信這就是你要去的。
在您的Sinatra應用程序的頂部添加以下內容。
require 'sinatra/config_file'
config_file './config/config.yml' # Point to wherever you want to store your config.yml
# Within your config.yml specify per environment settings; very similar to Rails
development:
database: sqlite://../bigtunadev.db
cipher: lamecipher4dev
oracle:
user: oracle_user
password: oracle_password
db2:
user: db2_user
password: db2_password
mysql:
user: mysql_user
password: mysql_password
production:
database: sqlite://../bigtunaprod.db
cipher: [email protected]@w3s0m3c1p43r
默認情況下只支持test, production, and development
環境。
如果你想添加額外的環境,那麼你將不得不在你的配置中覆蓋它,如下所示。
set :environments, %w{development test production staging}
這將直接顯示當前環境設置的屬性。
請注意在開發部分,我已經添加了其他嵌套。
多級嵌套必須作爲散列來訪問,所以它看起來如下所示。
settings.oracle["user"]
'settings.send(settings.environment)['foo']''? – 2014-10-08 22:40:52
是的,我想過這樣做,但我假設有一個更標準(和簡單/優雅/可讀)Sinatra的方式做到這一點... – iconoclast 2014-10-08 22:42:32