その他
    ホーム 技術発信 DoRuby 実行モード ”environment”設定の基本

    実行モード ”environment”設定の基本

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    こんにちは、oneafter999です。

    今回はRuby on Railsにおける実行モード(environment)についてご説明します。
    基礎中の基礎ですが、おさらいの意味も含めて簡単に記述してみます。

    実行モードとは?

    Railsでは、アプリケーションを動かす時には必ず実行モードを指定することになっています。
    実行モードを切り替えることで、環境によって異なる設定(DBやサイトURLなど)を切り替えることができます。

    実行モードの種類

    デフォルトで用意されているのは以下の3つです。
    ・開発 developmetn 開発時に利用するモード
    ・テスト test テスト時に利用するモード
    ・運用 production 運用時に利用するモード
    これ以外にも、自分で独自に実行モードを追加することができます(別途解説)。

    設定ファイル

    実行モードの設定ファイルは”config/environments”ディレクトリの中にあります。
    実行モードごとにファイルを作成します。
    “development”モードの設定ファイルは”config/environments/development.rb”といった感じです。

    実行モードの指定

    “script/console”やマイグレーションを実行するとき、実行モードを何も指定しないと”development”で実行されてしまいます。
    ですので、これらを実行するときは必ず実行モードを指定します。
    “$ RAILS_ENV=production ruby script/console”といった感じです。

    独自の実行モードの作成

    デフォルトで用意されている実行モードの他にも、自分で独自に実行モードを作ることができます。
    <作成方法>
    ・”database.yml”に作りたい実行モード名で設定を加えます
    ・”development.rb”をコピーするなどして、作りたい実行モード名の設定ファイルを作成します

    注意点

    実行モードの設定は、2度読み込まれるようになっています。
    ですので、重い処理やメール送信などの処理は記述しない方がいいでしょう。
    Rails初期化時に読み込まれる設定ファイルの中に、”after_initialize”というものがあります。
    こちらは1度しか実行されないので、2度実行されて困る処理はこちらを利用することができます。

    以上です。

    実行モードが2度読み込まれることなどは、今回調べてみて初めてしりました。

    奥が深いですね。