选择标记中的选项组使用rails

时间:2015-11-26 12:07:08

标签: ruby-on-rails ruby

我在控制器中获得了@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>

1 个答案:

答案 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"}%>