我在控制器中获得了@templates的值。 现在我有这样的结构:
<%= select_tag :template ,options_from_collection_for_select(@templates,"id", "name"),{:prompt => "--Built In Templates--",:class=>"form-control m-b-sm required"}%>
但现在我想在select_tag中添加选项组 我怎样才能创建类似的结构:
<%= select_tag :template ,grouped_options_for_select(['Built-In Templates',@templates.collect{|v| [v.name, v.id ] }],@templates),{:prompt => "please select",:class=>"form-control m-b-sm required"}%>
我想创建选项group.like
的数组<select>
<optgroup label="Built-In Templates">
<option value="id_default">default</option>
</optgroup>
<optgroup label="Custom Templates">
<option value="id_my template">my template</option>
</optgroup>
</select>
答案 0 :(得分:0)
我在模板模型中添加了一个名为type的字段.Type字段有单选按钮built_in和custom,所以当我创建一个模板时,我们选择该类型的单选按钮。 现在,我选择选项的下拉列表如下所示:
<%= select_tag :template ,grouped_options_for_select([['Built-In templates', @built_in.collect {|v| [ v.name, v.id ] }],['Custom', @custom.collect {|v| [ v.name, v.id ] }]]),{:prompt => t("please_select"),:class=>"form-control m-b-sm required"}%>