0

Rails 3.2 の Foreman で RVM を使用しています。アプリのルート ディレクトリに .env ファイルがあり、これは Foreman で読み込まれるはずでした。しかし、 in を使用すると、どうやらレールをロードできませんでしENV['DATABASE_NAME']database.yml。しかし奇妙なことに、ハードコーディングされたデータベース名を使用して Rails がロードされた後、コンソールを開いてENV['DATABASE_NAME']. そして、フォアマンは実際ENVにそのProcfileどちらにもアクセスできません。ENV初期化子の1つであるdevise.rbにアクセスできる別のRails 4アプリがありますが、同じものENV['DATABASE_NAME']をに入れるdatabase.ymlと、サーバーは正常に起動しますが、アプリがアクセスしようとしているときにページを開くことができませんデータベース。そのため、レール自体がロードされた後、ENV はレールによってのみロードされるようです。Procfileとからもアクセスできるようにするにはどうすればよいですかdatabase.yml

4

1 に答える 1

1

プロファイルと .env の例を示すと、誰かが助けやすくなります。

あなたの質問からの私の推測では、Procfile で env 変数を間違って使用しているということです。

たとえば、.env に PORT=3000 がある場合

次に、プロファイルでは、ENV['PORT'] ではなく、$PORT と呼ばれます。

構成イニシャライザなどの Ruby ファイルでは、ENV['FOO'] を使用します

于 2013-07-01T03:20:27.740 に答える