Rails多个单选按钮不是独立的

时间:2016-08-08 08:39:19

标签: ruby-on-rails radio-button

我对rails很新。作为表单的一部分,我想为每个成员提供一组单选按钮。

作为试用版,我/ view的一部分是:

     <table>
         <tr>
            <% Topic.listings.each do |listing| %>
               <td><%= listing %></td>
            <% end %>
          <tr>
          <tr>
             <% Topic.listings.each do |listing| %>
                <td>  <%= render 'layouts/button' %> </td>
             <% end %>
          </tr>
     </table>

layouts / _button.html.erb是:

    <%= radio_button_tag(:listing, "present") %>
    <%= label_tag(:listing_present, "Present") %><br>
    <%= radio_button_tag(:listing, "absent") %>
    <%= label_tag(:listing_absent, "Absent") %><br>
    <%= radio_button_tag(:listing, "unknown") %>
    <%= label_tag(:listing_unknown, "Unknown") %><br>

并在/ model:

   def self.listings
      @listings = ["A","B","C"]
   end

根据需要,这会在列表的每个成员下面给我一组3个单选按钮,但单选按钮组不是独立的。如果在“A”下选择了一个按钮,则单击“B”或“C”下的按钮将删除它。

请问,如何让按钮组独立。谢谢。

HowardG

1 个答案:

答案 0 :(得分:0)

这是HTML生成的问题。 Radio buttons are grouped by name

您生成的单选按钮具有相同的名称属性(列表)。这就是为什么他们被组合在一起的原因。

每个组的三个按钮应具有不同的名称,然后它才能起作用。

 <% Topic.listings.each do |listing| %>
   <td>  <%= render 'layouts/button', listing: listing %> </td>
 <% end %>

<%= radio_button_tag("listing_#{listing.id}", "present") %>
<%= label_tag("listing_#{listing.id}_present", "Present") %><br>
<%= radio_button_tag("listing_#{listing.id}", "absent") %>
<%= label_tag("listing_#{listing.id}_absent", "Absent") %><br>
<%= radio_button_tag("listing_#{listing.id}", "unknown") %>
<%= label_tag("listing_#{listing.id}_unknown", "Unknown") %><br>