繁体   English   中英

Ruby on Rails 4 - simple_form多选输入

[英]Ruby on Rails 4 - simple_form multiple select input

我有一个simple_form输入字段,如下所示:

<%= f.input :particular_users, collection: @all_users, input_html: { class: 'multiselectuser', multiple: true} %>

当我留下多个:true off时,表单提交参数的所选值:specific_users,我可以在使用“raise params.inspect”进行调试时看到该值。 但是当我在那里留下multiple:true选项时,没有为参数传递值:special_users。

我究竟做错了什么?

编辑:我不能使用关联输入,因为:special_users是一个虚拟属性,没有任何关系。 我希望多选框能够传递其中的任何值,即使它们是任意的。

f.input :days, collection: @your_collection, input_html: { multiple: true }

它实际上以我想要的方式工作。 诀窍是告诉强参数允许哈希。 它不会抛出强参数错误,param会被抛出并且不会通过。 所以我把它设置为例如:params.require(:survey).permit(:spe​​cial_users => [])。

要使用simple_form创建多个选择标记,请使用:

<%= f.association :particular_users, collection: @all_users, input_html: { class: 'multiselectuser'} %>

请参阅宝石描述中的部件Associations

但是,由于您不想使用ActiveRecord关联,请使用select_tag

<%= select_tag 'particular_users', 
       options_from_collection_for_select(@all_users, :id, :name), 
       multiple: true, class: 'multiselectuser' %>

暂无
暂无

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

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