1

機密性の高い認証情報を保存するときは、通常、yml ファイルを作成し、development.rb にロードします。

APP_CONFIG = YAML.load_file("#{Rails.root}/config/config.yml")[Rails.env]

その後、次のようにアクセスできます

APP_CONFIG["google_secret"]

問題は、Heroku がこれを好まないため、統合を容易にするためにローカルで ENV 変数を設定する必要があることです。だから私はそのようなenv.rbファイルを作成しました

ENV['google_key'] = 'xxx'
ENV['google_secret'] = 'xxx'
ENV['application_key'] = 'xxx'

それにアクセスするには、使用できると思いました

x = ENV['application_key']

しかし、変数が見つからないのですが、どうすれば開発環境にロードできますか?

ありがとう

4

2 に答える 2

3

env.rbファイルをinitializersフォルダーに入れる必要があります。herokuにプッシュしたくない場合は、env.rbファイルをファイルに追加できます。.gitignore

于 2013-04-01T14:34:53.510 に答える
2

Have you considered using Figaro to do this? Figaro was inspired by Heroku's secret key application configuration, so it's really easy to make secret ENV variables in development accessible in Heroku production environments.

I wrote up an answer on this StackOverflow thread about hiding secret info in Rails (using Figaro) that can hopefully serve of some reference to you as well.

于 2013-04-01T12:09:31.987 に答える