将select_tag转换为网格

时间:2019-06-01 07:59:33

标签: css ruby-on-rails

假设rails select_tag的选择列表很长(> 20),则select菜单是UI的错误选择。

select_tag "brand", options_from_collection_for_select(@brands, "id", "logo")

但是,使用图像或简短单词,可以在网格中以更加用户友好的方式对其进行处理。使用CSS和/或框架,可以创建对象行。尽管rails有in_groups_of方法会生成这些行,但是select tag documentation对此没有任何余地。

除了手动操作:

<select id="brand" name="brand">

<div class='row'>
  <% @brands.in_groups_of(6, false) do |brands| %>
    <% brands.each do |bs| %>
      <div class='small-2 columns '>
        <%= content_tag("option", image_tag(bs.image), options: {value: bs.id}) %>
      </div>
    <% end %>
  <% end %>
</div>
</select>

是否有适当的Rails way来实现这一目标?

0 个答案:

没有答案