我需要用类似 href 的项目格式化链接/?category_id[]=1&category_id[]=2&category_id[]=3这适用于分面搜索。
link_to "Super Categories", params.merge(category_id: [1,2,3])
但是我无法达到预期的结果。方括号被编码,而不是在GET请求中创建一个数组。
如果您的视图中有以下内容
link_to "Super Categories", params.merge(category_id: [1,2,3])
查询字符串的category_id
部分如下所示
?category_id%5B%5D=1&category_id%5B%5D=2&category_id%5B%5D=3
这些编码括号没有问题;一旦 Rails 收到GET
请求,params[:category_id]
将再次["1","2","3"]
。您可以使用以下方法轻松地将其转换回整数值
params[:category_id].map(&:to_i) # [1,2,3]