2

这是我在RAILS中为RADIO BUTTON编写的代码

<% @Days = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'] %>
<% @Days.each do |day| %>
<%= f.radio_button :due_day, day, :checked => @group.due_day.eql?(day) %> 
<%= f.label :due_day, day %>
<% end %>

在 HTML 我得到

<input checked="checked" id="group_due_day_monday" name="group[due_day]" type="radio" value="Monday" /> 
<label for="group_due_day">Monday</label>
.....
.....
<input id="group_due_day_sunday" name="group[due_day]" type="radio" value="Sunday" /> 
<label for="group_due_day">Sunday</label>

但我希望它

<input checked="checked" id="group_due_day_monday" name="group[due_day]" type="radio" value="Monday" /> 
<label for="group_due_day_monday">Monday</label>
.....
.....
<input id="group_due_day_sunday" name="group[due_day]" type="radio" value="Sunday" /> 
<label for="group_due_day_sunday">Sunday</label>

这样,如果单击标签,RADIO BUTTON就会被选中。这可以使用

<%= f.radio_button :due_day, day, :checked => @group.due_day.eql?(day) %> 
<%= f.label :due_day_monday, day %>

但这不是一个好的做法,如果我有一组用户@users。我不知道数组长度以及用户名

4

1 回答 1

3

FormHelperlabel为这种情况精确地接受了一个:value选项:

<% @Days.each do |day| %>
<%= f.radio_button :due_day, day, :checked => @group.due_day.eql?(day) %> 
<%= f.label :due_day, day, :value => day %>
<% end %>
于 2012-09-21T22:20:13.133 回答