ruby-on-rails - RoR form_for 中的多项选择

标签 ruby-on-rails ruby ruby-on-rails-3 form-for multiple-select

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

f.select(:var_name, [["option1"],["option2"],["option3"]], {}, {multiple: "multiple"})

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

最佳答案

我相信您的问题源于您的 choices 参数。您可能需要一组 [option,id] 映射:

f.select(:person_id, Person.all.collect {|p| [ p.name, p.id ] }, {}, { :multiple => true })

关于ruby-on-rails - RoR form_for 中的多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280480/

相关文章:

ruby-on-rails - ElasticSearch异步删除?在Rails应用中删除索引后仅200

ruby-on-rails - 将复杂的 has_many 关系移植到 Rails > 4.1(没有 finder_sql)

ruby - 是否可以在Android设备上运行ruby命令行工具irb?

javascript - 如何构建 'embeddable widget' ?

ruby-on-rails - factory_girl/rspec2 场景中的未定义方法 `each'

ruby-on-rails - 使用 will_paginate/searchlogic 搜索多个字段

ruby-on-rails - 操作邮件程序名称错误 : Undefined local variable or method `“smtp'

ruby-on-rails - 主网页 Controller #action 的 Ruby on Rails 最佳实践?

ruby-on-rails - Prawn 。样式单元格对象

sql - 指定默认的 Rails 数据库