modelを使わずに、optgroupタグを含んだセレクトボックスを作る方法
grouped_options_for_selectを使用します。
コントローラー上であらかじめ出力したい内容を配列で作成します。
各配列の最初の要素が<optgroup>として使用され、2番目の要素は<option>とvalue属性になります。
@grouped_selectdata = [ ['表題1', [['内容1-A', 0], ['内容1-B', 1], ['内容1-C', 2]]], ['表題2', [['内容2-A', 3], ['内容2-B', 4], ['内容2-C', 5]]], ['表題3', [['内容3-A', 6], ['内容3-B', 7], ['内容3-C', 8]]], ]
この配列をselect_tagとgrouped_options_for_selectで組み合わせます。
<%= select_tag "sample", grouped_options_for_select(@grouped_selectdata) %>
このような表示になります。