0
4アプリケーション、私のsecrets.ymlファイルには、次のものが含まれていますsecrets.ymlが読むために環境変数をシステムに保存する方法は?私のRailsで
admin_name: <%= ENV["ADMIN_NAME"] %>
admin_email: <%= ENV["ADMIN_EMAIL"] %>
admin_password: <%= ENV["ADMIN_PASSWORD"] %>
私は.bash_profile
に環境変数を追加しようとしなかったものの:
export admin_name="Admin"
export admin_email="[email protected]"
export admin_password="admin"
そして、私はからそれらにアクセスすることができますシェル:
echo $admin_password
Admin
とにもrails console production
から:
ENV['admin_name']
=> "Admin"
Railsアプリケーションを実行しているnginx/passengerプロセスではなく、rootユーザーの.bash_profile
を見ていると思います。したがって、これらの環境変数がRailsプロセスで使用可能ではないと思います。私はsecrets.ymlを見てファイルを参照されrake
を使用しようとすると、結果的に、それは環境変数を読み取ることができません。
RAILS_ENV=production bundle exec rake db:seed
seeding Role
seeding User
rake aborted!
ActiveRecord::RecordInvalid: Validation failed: Email can't be blank, Password can't be blank
は、どのように私はこのような状況を扱うことができますか?
質問を書くときには、それは単にタイプミスだったと思います。すべてが正しいケースです。 – Donato