首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails+radio_button_tag

rails+radio_button_tag
EN

Stack Overflow用户
提问于 2011-08-08 14:32:41
回答 2查看 1.3K关注 0票数 0

在下面的代码中,我使用单选按钮从三个选项中选择一个选项,

但是,由于一个单选按钮的名称不同于另一个单选按钮,所以我可以选择这三个选项而不是一个选项。

我使用此代码是因为,我想用文本框中的所有三个名称及其相应的选定值更新记录,

还有别的工作可以做吗?

视图

代码语言:javascript
复制
<% 1.upto(3) do |i| %>
<%= text_field_tag "fields[#{i}][name]",'' %>
<%= radio_button_tag "fields[#{i}][answer]", '1', false%>
<% end %>

控制器

代码语言:javascript
复制
params[:fields].each do |i, values|
u = Sample.new
u.name = values["name"]
u.answer = values["answer"] ? 1 : 0
u.save
end

谢谢,

EN

回答 2

Stack Overflow用户

发布于 2011-08-08 14:58:14

你可能想要这样的东西:

代码语言:javascript
复制
<% 1.upto(3) do |i| %>
    <%= text_field_tag "fields[#{i}][name]",'' %>
    <%= radio_button_tag "fields[answer]", '#{i}', false%>
<% end %>

这将产生一个值为1,2或3的答案字段,这取决于选择哪个字段。

票数 1
EN

Stack Overflow用户

发布于 2011-08-08 16:28:57

首先,嵌套属性可能非常适合您的问题。我建议你看看这些,而不是你现在处理事情的方式。

如果你只想坚持事情的原样,你可以通过一些调整来使事情顺利进行。

要使单选按钮正常工作,需要对每个选项使用唯一值(i):

代码语言:javascript
复制
<%= radio_button_tag "answer", i, false%>

然后在你的控制器里

代码语言:javascript
复制
u.answer = params["answer"] == i ? 1 : 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6983720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档