首页 > 解决方案 > Rails 5.2 - 从选择按钮到单选按钮

问题描述

在我的 ERB 视图中,我在表单中有以下两种类型的选择。

<%= f.select :shape, Diamond.shapes.map { |k,v| [k.humanize, v] },{:include_blank => ''},{:class => "form-control", :required => true} %>

<%= select_tag "term[]", options_for_select(Diamond.colors.map { |k,v| [k.upcase, v] }), class: "form-control" %>

我想将其更改为单选按钮或仅按钮,但无法弄清楚如何正确编码。我拥有的选项是保存在 Diamond.shapes 中的枚举。

这是 2 个 HTML 元素。

<select class="form-control" required="required" name="wholesale[shape]" id="wholesale_shape"><option value=""></option>
<option value="1">Asscher</option>
<option value="2">Emerald</option>
<option value="3">Heart</option>
<option value="4">Marquise</option>
<option value="5">Oval</option>
<option value="6">Pear</option>
<option value="7">Princess</option>
<option value="8">Radiant</option>
<option value="9">Round</option>
<option value="10">Cushion</option>
</select>

<select name="term[]" id="term_" class="form-control"><option value="14">D</option>
<option value="15">E</option>
<option value="16">F</option>
<option value="17">G</option>
<option value="18">H</option>
<option value="19">I</option>
<option value="20">J</option>
<option value="21">K</option>
<option value="22">L</option>
<option value="23">M</option>
<option value="24">N</option></select>

有任何想法吗?我一直在尝试单选按钮集合,但还没有找到正确的编码,甚至不确定这是否是最好的方法。谢谢你。

标签: ruby-on-railsformsselectradio-button

解决方案


你可以这样做:

<% Diamond.colors.keys.each do |color| %>
  <%= f.radio_button :term, color %>
  <%= f.label color.to_sym %>
<% end %>

推荐阅读