はじめに
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ヘルパー | たぶんルーティングヘルパー |