在rails中迭代时的唯一单选按钮

时间:2016-09-12 20:48:28

标签: ruby-on-rails ruby radio-button form-helpers

我正在创建一个应用程序,其中我有一个症状列表(@all_symptoms),我正在迭代,我希望每个都有一个单选按钮,指示它的存在是真还是假。 我不断尝试的问题是,单选按钮的名称都相同,所以我只能在整个表单上选择一次真/假。

我尝试将标签更改为:

<%= ff.radio_button "presence_#{s.id}", true %>

但是有一个错误,因为我的症状(显然)没有称为“presence_X”的方法。 (为清楚起见:“presence”症状的属性,它接受布尔值。)

表单的嵌套属性部分是因为它是Appointment的一部分,它接受症状的属性。

<%= f.fields_for :symptoms do |ff| %>
  <table>
    <tr>
      <th>Name</th>
      <th>Presence</th>
    </tr>

    <% @all_symptoms.each do |s| %>
    <tr>
      <td>
        <%= s.name %>
      </td>
      <td>
        <%= ff.label :presence, "True", :value => true %>
        <%= ff.radio_button :presence, true, :value => true %>
        <%= ff.label :presence, "False", :value => false %>
        <%= ff.radio_button :presence, false, :value => false %>
      </td>
  </table>
<% end %>

1 个答案:

答案 0 :(得分:0)

你试过这个吗?

<%= ff.radio_button :presence, true, :value => true, name: "presence_#{s.id}" %>