在下面的代码中,我使用单选按钮从三个选项中选择一个选项,
但是,由于一个单选按钮的名称不同于另一个单选按钮,所以我可以选择这三个选项而不是一个选项。
我使用此代码是因为,我想用文本框中的所有三个名称及其相应的选定值更新记录,
还有别的工作可以做吗?
视图
<% 1.upto(3) do |i| %>
<%= text_field_tag "fields[#{i}][name]",'' %>
<%= radio_button_tag "fields[#{i}][answer]", '1', false%>
<% end %>控制器
params[:fields].each do |i, values|
u = Sample.new
u.name = values["name"]
u.answer = values["answer"] ? 1 : 0
u.save
end谢谢,
发布于 2011-08-08 14:58:14
你可能想要这样的东西:
<% 1.upto(3) do |i| %>
<%= text_field_tag "fields[#{i}][name]",'' %>
<%= radio_button_tag "fields[answer]", '#{i}', false%>
<% end %>这将产生一个值为1,2或3的答案字段,这取决于选择哪个字段。
发布于 2011-08-08 16:28:57
首先,嵌套属性可能非常适合您的问题。我建议你看看这些,而不是你现在处理事情的方式。
如果你只想坚持事情的原样,你可以通过一些调整来使事情顺利进行。
要使单选按钮正常工作,需要对每个选项使用唯一值(i):
<%= radio_button_tag "answer", i, false%>然后在你的控制器里
u.answer = params["answer"] == i ? 1 : 0https://stackoverflow.com/questions/6983720
复制相似问题