ActionView::Helpers::FormOptionsHelper

option_groups_from_collection_for_select

API ドキュメント(Rails 8.1.4.1) ↗
def option_groups_from_collection_for_select(collection, group_method, group_label_method, option_key_method, option_value_method, selected_key = nil)

説明

collection の要素ごとの <optgroup> と、その中の <option> を作ります。

引数

値を変えると、ERB と HTML が変わります。

collectionPlanGroup.all
要素ごとに <optgroup> を 1 つ作ります。
collection の要素ごとにこのメソッドを呼んで、返した配列の要素を、その <optgroup> の中の <option> にします。Proc を渡すと、要素を渡して呼び、返した値を使います。
collection の要素ごとにこのメソッドを呼んで、返した値を <optgroup> の label 属性の値にします。Proc を渡すと、要素を渡して呼び、返した値を使います。
group_method が返した配列の要素ごとにこのメソッドを呼んで、返した値を <option> の value 属性の値にします。Proc を渡すと、要素を渡して呼び、返した値を使います。
group_method が返した配列の要素ごとにこのメソッドを呼んで、返した値を <option> のテキストにします。Proc を渡すと、要素を渡して呼び、返した値を使います。
= nil
渡すものによって、次のように変わります。
  • 値:その値と同じ value の <option> に selected を追加します。
  • 値の配列:どれかの値と同じ value の <option> に、selected を追加します。
  • Proc:group_method が返した配列の要素ごとに呼んで、真を返した要素の <option> に selected を追加します。
  • key が selected と disabled の Hash:key の selected の値と同じ value の <option> に selected を、key の disabled の値と同じ value の <option> に disabled を追加します。どちらにも Proc を渡せます。
option_key_method が Proc のときに Proc を渡すと、TypeError になります。値は文字列にしてから比べるので、2 と "2" は同じです。

ERB

直前との違い: 追加 削除 変更


          

HTML


          

プレビュー

プレビューを操作すると、フォーム送信の内容が変わります。

フォーム送信

フォームデータ

namevalue
リクエストボディを見る

Content-Type:


              

params