ruby-on-rails - 具有多个值的 Rails select_tag 仅发送第一个
问题描述
我制作了一个带有select_tag
multiple
. 当我提交表单时,我得到的参数是"category_id"=>"3"
(我想要一个数组:/),而 url 就像 : http://localhost:5000/wods?category_id=1&category_id=3
。我debugger
在提交表单上放了一个:$('form').serialize()
returns "category_id%5B%5D=3&category_id%5B%5D=4"
,所以参数设置正确,但不在控制器中。
如果我输入网址http://localhost:5000/wods?category_id[]=1&category_id[]=3
,它会发送正确的参数"category_id"=>["3","1"]
。
我做错了什么:/?这是我的代码:
<%= form_with url: sessions_update_path, method: :get, local: true, id: 'filters' do %>
<%= select_tag "category_id[]",
options_for_select(Category.all.order(:name).pluck(:name, :id), session[:categories]),
multiple: true,
class: 'select2',
include_blank: true %>
<%= submit_tag t('actions.filter'), class: 'btn mr-10' %>
<% end %>
非常感谢您的帮助 !
更新 :
好的,我知道发生了什么。我对我的 url 参数有一个before_action
which 调用encode_www_form
,它不处理多个值参数。我会找到这种方法的解决方法。谢谢您的帮助。
解决方案
推荐阅读
- azure - 如何使用 Azure AD 在 Angular(前端)和 Spring Boot(后端)之间实现 OAuth 2.0 授权代码流
- python - 出现错误 ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
- javascript - 无法读取未定义的属性“正文” - cakephp 2 中的 TinyMCE
- c# - 使用 FluentApi 为已存在的表创建外键
- c# - 如何使用 Outlook 对象库通过电子邮件地址获取 ExchangeUser?
- r - 根据列表应用条件并根据结果 r 创建新列
- clickhouse - 如何在 CLICKHOUSE 中将多维数组转换为一维数组
- hl7-fhir - hapi-fhir-cli 上传示例命令给出错误
- mariadb-10.1 - 如何在mysql中根据周选择数据
- asp.net - 使用 Visual Studio 2017 Windows 10 进行远程调试时显示服务器脚本文件