[英]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(:special_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.