10

のRailsコンソールのデフォルト環境

$ bundle exec rails console 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "development" 

これが期待されています。ここまでは順調ですね。

しかし、(私はカピストラーノを使用して展開してきた)私の本番サーバー上で、私は正確に同じ結果を得る:どちらかのマシンで

$ bundle exec rails console 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "development" 

を、私が代わりに行うことができます。

$ bundle exec rails console production 
Loading development environment (Rails 3.2.3) 
1.9.3p194 :001 > Rails.env 
=> "production" 

マイ質問は:生産サーバーでは、bundle exec rails consoleは、開発環境の代わりに、デフォルトで生産環境を読み込まないでください?そうでない場合は、どうしてですか?

+1

これは正常な動作です。あなたのアプリは、プロダクションやローカルサーバー上のどこにあるのか分かりません。それはすべてです:) – alexkv

+0

ありがとうございます。それはちょうど私に迷惑をかける*なぜ*それは正常な動作です。私は推測できると思う。 – sampablokuper

+0

ありがとうございます。これは、レールコンソールを生産としてどのように走らせるかという私の質問に答えました。 rails server -e productionと同じパターンに従いません。 – erroric

答えて

16

実行可能なレールは、どのコンピュータでどの環境を実行するかを知ることができません。

コンソールを起動するユーザーの~/.bashrcまたは~/.bash_profileファイルにexport RAILS_ENV=productionを入れることができます。

5

RAILS_ENVはいつもあなたが好きなら、あなたは常に本番サーバー上の「〜/ .bash_profileの」を開いて、これを追加することができます開発

がデフォルトになり、他の同様の変数です:

alias sc="bundle exec rails console production" 

source ~/.bash_profileを実行して端末セッション用にそのファイルをリロードしてください。scを呼び出してコンソールをロードすることができます。

関連する問題