はじめに
RoRを触っているとヘルパーという単語がやたらに出てくる。
ヘルパー、ヘルパーと気安く呼ばれている気がするのだが、
たくさんありそうな気がしていて、何がなんだかなので、調べた。
Form系
その1. *_tagヘルパー
代表例
form_tag, label_tag
場所
ActionView::Helpers::FormTagHelperモジュールの中には他にも
*_tagヘルパーの定義がある。
説明
Action View フォームヘルパー | Rails ガイド で*_tagヘルパーと呼ばれているもの。
【Rails】formヘルパーを徹底的に理解する - Qiita によると、
form_for: 任意のmodelに基づいたformを作るときに使う
その2. モデルオブジェクトヘルパー
代表例
form_for, f.label
場所
form_helper.rbの構造は、

このようになっており、form_forはActionView::Helpers::FormHelperモジュールの方にあったが、f.labelの方はActionView::Helpers::FormBuilderモジュールの中にあるようだ。
(とはいえ、def labelはActionView::Helpers::FormHelperモジュールの方にもあった...)
説明
【Rails】formヘルパーを徹底的に理解する - Qiita によると、
form_tag: modelに基づかないformを作るときに使う
URL関係
その3. link_to
場所


Form系と同じくActionView::Helpersモジュールの中にある位置づけ(*.rbファイル的には別ファイルで書かれている)。
その4. _pathヘルパー
場所
見つけられず
その5. _urlヘルパー
場所
見つけられず
まとめ
RoRで主にヘルパーと呼ばれるものは、
ActionViewのヘルパー。
その中に、FormTagHelperやらFormHelperやらFormBuilder(ヘルパーって名前に付いてないのね)やらUrlHelperやらがあって、各種メソッドが定義されている。
| モジュール | Railsガイドでの総称 |
|---|---|
| FormTagHelper | *_tagヘルパー |
| FormHelper, FormBuilder | モデルオブジェクトヘルパー |
| UrlHelper, _pathヘルパー, _urlヘルパー | たぶんルーティングヘルパー |




