railsの3つの環境 & 環境の切り替え

railsには、3つの環境がデフォルトで装備されている
テスト環境 (test)
開発環境 (development)
本番環境 (production) 

rails consoleでは、デフォルトで開発環境(development)が使用されるらしい。
コンソール起動のコマンド
$rails console
Loading development environment (Rails 4.1.5) ←このような表示がされる

コンソールから次のコマンドで環境確認できる
irb(main):001:0> Rails.env
=> "development"
irb(main):002:0> Rails.env.development?
=> true
irb(main):003:0> Rails.env.test?
=> false
irb(main):004:0> Rails.env.production?
=> false

☆本番環境への切り替えは以下の①②を行う。
①次のlinuxコマンドで、環境変数(RAILS_ENV:値='production')を変更(変数がなければ追加される)
$export RAILS_ENV=production

コンソールから次のコマンドで環境確認すると、railsは本番環境を見ていることがわかる
$rails console
 irb(main):001:0> Rails.env
 => "production"
 irb(main):002:0> Rails.env.development?
 => false
 irb(main):003:0> Rails.env.production?
 => true
 irb(main):004:0> Rails.env.test?
 => false

②WEBrick上で実験する場合、config¥environments¥production.rb を編集
 次の行を false から true にする
config.serve_static_assets = true


※本番環境から開発環境へ切り替える場合は、次の要領(上記と逆の指定をする)
①次のlinuxコマンドで、環境変数(RAILS_ENV:値='development')に変更
$export RAILS_ENV=development

②config¥environments¥production.rb を編集
 次の行を false から true にする
config.serve_static_assets = false


※本番環境のデータベース構築は、次のコマンドを実行
$rake db:create RAILS_ENV=production
$rake db:migrate RAILS_ENV=production

※railsサーバを本番環境として起動する場合は、次のコマンドを実行。
$rails s -e production
最終更新:2014年11月28日 12:21