Ruby on Rails 4 - simple_form多选输入

Tra*_*ver 21 ruby ruby-on-rails simple-form

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

<%= f.input :particular_users, collection: @all_users, input_html: { class: 'multiselectuser', multiple: true} %>
Run Code Online (Sandbox Code Playgroud)

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

我究竟做错了什么?

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

小智 45

f.input :days, collection: @your_collection, input_html: { multiple: true }
Run Code Online (Sandbox Code Playgroud)


Tra*_*ver 16

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