3

ENV変数を設定する方法は次のとおりです

#~/repos/project
export GA_USERNAME="email@gmail.com"

アプリケーションで使用しようとするENV['GA_USERNAME]と、nil が返されます。ただし、コンソールでは、変数が奇妙に出力されてからnilが返されます...

1.9.2-p320 :003 > puts ENV['GA_USERNAME']
email@gmail.com
=> nil 

編集ENV 変数が持続しているとは思えません。コンピューターを再起動すると、変数は nil であり、再度設定する必要があります。

4

1 に答える 1

1

サーバープロセスの環境変数を設定する従来の方法は次のとおりです。

RAILS_ENV=production GA_USERNAME=foobar rails s

ファイルのように永続的な方法で環境変数を指定する場合は、 を試してくださいfigaro。README には開始方法が記載されていますが、アイデアは次のとおりです。

  1. rails generate figaro:install
  2. edit config/application.yml(最後のコマンドが作成したもの)
  3. アプリでは、環境ごと (本番、開発、テスト) の変数が自動的に設定されます。

アップデート

dotenvさらに優れた簡単なアプローチかもしれません:

  1. gem 'dotenv-rails', :groups => [:development, :test]
  2. クロス環境のキーと値のペアを入れる.env
  3. 環境固有のペアを置く.env.testか、.env.development

詳細については、README を参照してください。

于 2013-04-12T16:40:56.803 に答える