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

Unique radio buttons when iterating in rails

我正在创建一个应用程序,其中有一个正在迭代的症状列表 (@all_symptoms),我想为每个症状设置单选按钮以指示其存在是真还是假. 我一直运行遇到的问题是,无论我尝试什么,单选按钮的名称都相同,所以我只能 select true/false 一次表格.

我尝试将标签更改为:

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

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

表单的嵌套属性部分是因为这是接受症状属性的约会的一部分。

<%= 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 %>

你试过吗?

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