繁体   English   中英

Rails,collection_select-提交表单后,用:select记住值

[英]Rails, collection_select - remembering values with :selected after form submitted

(在没有版本选择的内部工作服务器上使用Rails 2.3.5,我很新)

我正在构建一个搜索表单,其中需要向用户提供目录列表,以便他们可以选择要搜索的目录。 我试图弄清楚如何在提交表单后使collection_select的选定值保持不变。

假设用户从collection_select中选择了3个目录,则这些目录的ID在params中将如下所示:

directory: !map:HashWithIndifferentAccess 
  id: 
  - "2"
  - "4"
  - "6"

我知道您可以手动指定多个选定的项目:

<%= collection_select :directory, :id, @directories, :id, :name,
                 {:selected => [2,4,6]}, {:size => 5, :multiple => true} %>

我也玩了一些,并且能够针对params哈希中的单个值“ to_i”:

<%= collection_select :directory, :id, @directories, :id, :name,
                 {:selected => params[:directory][:id][0].to_i}, {:size => 5, :multiple => true} %>

我不知道是如何同时使用:directory参数的所有值,以便用户选择的内容在提交表单后仍然保留。 谢谢你的帮助。

我不确定您要问的是什么,但是如果您尝试获取params[:directory][:id]的字符串数组作为整数数组,那么您所需要做的就是

params[:directory][:id].map{|id|id.to_i}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM