Rails で必要なフレームワークだけを読み込む

rails はいくつかのコンポーネントに分割されていて、config/application.rb で読み込まれている。

# Pick the frameworks you want:
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"

ただし、デフォルトで新しいプロジェクトを生成すると、全てを読み込む記述になっている。

require 'rails/all'

-T (test フレームワークを使用しない) や -S (Sprocket を使用しない)を使って生成するとバラバラで require される記述が出力される(生成時、指定したオプションはコメントアウトされています)

例えば、ActionMailer や ActiveResource を使う予定がなければ無効にしておくことで若干軽量化できる気がします(キチンとした計測は行ってないです。ただ、rails console の立ち上がりが早くなった気がしました。)

ただし、enviroment.rb などで、初期設定を呼び出している箇所でエラーが出る場合があるので、適宜対処する。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする