1

Sinatra アプリをサーバー (heroku) にアップロードしました。しかし、そこでうまく動作する私の別のRailsアプリとは異なり、アプリはローカルホストにあるように動作するようです。

Sinatra アプリが正しい環境を使用しているかどうかを確認するにはどうすればよいですか? また、シナトラはどの環境を使用するかをどのように判断するのでしょうか?

4

2 に答える 2

1

本来、heroku は環境設定を処理します。デフォルトでは「生産」です。ユースケースごとに異なる構成/動作がある場合は、最初にそれをコーディングする必要があります。

例えば

if ENV=="production"
  # do something
elsif ENV=="staging"
  # do something else
end

環境を明示的に「本番環境」などに設定する理由がわかりません。それはホスティング環境の裁量に任せるべきです。

アップデート

Heroku ドキュメントの詳細

さらにアップデート

 heroku run printenv

上記は環境変数をリストする必要があります。

于 2013-01-16T10:23:49.013 に答える
0

すべての heroku インスタンスに環境変数を追加します。

heroku config:add APP_NAME=<myappname>

次に、Sinatra の場合、config.ru に次のように記述します。

# detect environments and setup some passwords
case ENV['APP_NAME'] 
  when 'prod-damon'
    # whatever for production
  when 'dev-damon'
    # whatever for development on Heroku
  else
    # whatever for local
end
于 2013-01-16T13:51:54.240 に答える