web-dev-qa-db-ja.com

Railsコンソールで環境変数をロードする方法は?

これは少し簡単な質問だと思います!

.envファイルを使用してすべての環境変数を保持し、foremanを使用しています。

残念ながら、これらの環境変数はRails console Rails cの実行時にロードされないため、コンソールの実行後に手動でロードするようになりました。これは最善の方法ではありません。

そのためのより良い方法があるかどうか知りたいのですが。

32
M.ElSaka

約1年前、「run」コマンドがforemanに追加されました

参照: https://github.com/ddollar/foreman/pull/121

次のように使用できます。

foreman run Rails console

または

foreman run rake db:migrate

64
dquimper

Railsは、フォアマンに固有であるため、.envファイルで指定された環境変数を認識しません。 Railsコンソールを呼び出す前に、環境を明示的に設定する必要があります。 この質問 をご覧ください。

2
Salil

私は個人的に dotenv を開発およびテスト環境で使用しています。このアプローチでは、コマンドにプレフィックスを付ける必要はありません。config/application.rbでイニシャライザーを呼び出すだけです。

Bundler.require(*Rails.groups)

Dotenv::Railtie.load

HOSTNAME = ENV['HOSTNAME']
0
Ghis