2013/04/17

ヘルパーモジュールの読み込み方の違い

ヘルパーモジュールの読み込み方に関しては少し複雑な歴史があります。Rails 1.x の時代には application_helper.rb とコントローラに対応したヘルパーモジュールが読み込まれました。全部読み込みたい場合は application_controller.rb に helper :all と記述する
必要がありました。しかし、Rails 2.x 時代になると、application_controller.rb に初めから helper :all が記載されるようになったため、全部読み込みたくない場合だけプログラマー自身が helper :all を削除することになりました。さらに Rails 3.0 で「全部読み込む」がデフォルトになり、そうしたくない場合に clear_helpers を呼ぶという仕様になったのです。実は、次のバージョン 3.1 でまた仕様が変わる予定です。config/application.rb の中で config.action_controller.include_all_helpers = false のように記述すると「全部読み込まない」という振る舞いになります。
(はじめる!Rails3(2)より)