加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 选择下拉列表和每个块 – Ruby / Rails

发布时间:2020-12-17 01:56:46 所属栏目:百科 来源:网络整理
导读:我有一个简单的每个块,它采用每个类别并创建一个选项 @categories = Category.allselect id="bike_category_filter" multiple="multiple" % @categories.each do |c| % option value="%= c.name %"%= c.name %/option % end % 我想用男性和女性(所以c.name)
我有一个简单的每个块,它采用每个类别并创建一个选项

@categories = Category.all

<select id="bike_category_filter" multiple="multiple">
  <% @categories.each do |c| %>
    <option value="<%= c.name %>"><%= c.name %></option>
  <% end %>

我想用男性和女性(所以c.name)这个类别用< optgroup>包围它们.标签.我怎么能实现这一点,链接到资源或解释在哪里看就足够了,不一定找人给我答案

期望的输出看起来像

<select>
  <optgroup label="Gender">
    <option value="cat1">Men</option>
    <option value="cat2">Women</option>
  </optgroup>
    <option value="cat3">Cat5</option>
    <option value="cat4">Cat4</option>
</select>

谢谢

解决方法

最后我实现了这个解决方案,我仍然觉得这可以更优雅地完成

Controller

@gender_categories = Category.where(name: ['Mens','Womens'])
@categories = Category.where.not(name: ['Mens','Womens'] )

View 

<select id="bike_category_filter" multiple="multiple">
  <optgroup label="Gender">
    <% @gender_categories.each do |c| %>
      <option value="<%= c.name %>"><%= c.name %></option>
    <% end %>
  </optgroup>

  <optgroup label=" Bike Type">
    <% @categories.each do |c| %>
      <option value="<%= c.name %>"><%= c.name %></option>
    <% end %>
 </optgroup>
</select>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读