首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RoR form_for中的多项选择

RoR form_for中的多项选择
EN

Stack Overflow用户
提问于 2012-02-15 00:27:22
回答 2查看 1.6K关注 0票数 3

我有一个我想要作为变量选项的项目列表。它们将作为数组保存在模型中,并在form_for中显示为列表。我用的是

代码语言:javascript
运行
复制
f.select(:var_name, [["option1"],["option2"],["option3"]], {}, {multiple: "multiple"})

可以很好地保存到模型中。但是当返回到表单时,没有选择任何内容(即使变量已将它们全部保存)。然后,如果我再次提交表单,它将传递一个空数组。正确保存它的唯一方法是在每次查看表单时重新选择我想要的选项。如何让它们传递到多选框中?

EN

回答 2

Stack Overflow用户

发布于 2012-02-15 04:15:17

我认为您的问题源于您的choices参数。您可能需要一个选项、id映射的数组:

代码语言:javascript
运行
复制
f.select(:person_id, Person.all.collect {|p| [ p.name, p.id ] }, {}, { :multiple => true })
票数 0
EN

Stack Overflow用户

发布于 2012-02-15 21:52:25

当我今天再次开始工作时,它是有效的。我不确定做了什么更改,但可能是我需要重新启动服务器。它看起来仍然像

代码语言:javascript
运行
复制
f.select(:name, [[" "],["option"],["option2"],["option3"]], {}, {:multiple => true})

所以肯定不是这段代码。此外,表单开头看起来像这样

代码语言:javascript
运行
复制
form_for(@model_name) do |f|

这也没有改变。

不管怎样,它现在起作用了。谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9280480

复制
相关文章

相似问题

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