我对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
答案 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>