我有以下radio_button_tag组,我希望选择第一个,当我提交表单时,我想保持所选的值。任何帮助将非常感激。
<% [ 'plain', 'desert', 'green', 'corporate', 'funky' ].each do |value, name| %>
<%= radio_button_tag :ed_type, (name || value) %>
<%= label_tag :"ed_type_#{(name || value)}", value.humanize %>
<% end %>
答案 0 :(得分:1)
试试这个
<%= radio_button_tag :ed_type, (name || value), (name == 'plain' || value == 'plain') %>
答案 1 :(得分:1)
<% [ 'plain', 'desert', 'green', 'corporate', 'funky' ].each_with_index do |value, index| %>
<%= radio_button_tag :ed_type, value, ( params[:ed_type] ? (params[:ed_type]==value) : (index==0) ) %>
<%= label_tag value %>
<% end %>
我的代码忽略了名称|值部分。当然,你可以自己添加它。
加载表单时(GET请求),params [:ed_type]将为nil。因此,将评估第二个条件,因此将选择index == 0(第一个)元素。
当提交并再次呈现表单时,参数[:ed_type]将不会为零。因此,始终评估第一个条件,并为相应的单选按钮变为true。