我有一个带有多选输入的表单,如下所示:
select_tag "activity_types[#{category}]", options_from_collection_for_select(ActivityType.all, "id", "name"), multiple: true
这会生成类似于以下的标记:
<select id="activity_types_category" multiple="multiple" name="activity_types[category][]"><option value="2">Foo</option>
<option value="3">Bar</option>
<option value="4">Baz</option>
</select>
这正是我想要的。The issue is that when all options are selected and the form is submitted the url ends up looking something like this:
?activity_types%5Bcategory%5D%5B%5D=2&activity_types%5Bcategory%5D%5B%5D=3&activity_types%5Bcategory%5D%5B%5D=4
这很好用。但是,我遇到了一些问题,即完整的 url 对于第三方服务来说太长了。他们在自己的 url 中使用 url 作为参数。我的 url 导致了 414 Request-URI Too Large 错误。我想知道是否有办法使查询字符串看起来像这样:
?activity_types%5Bcategory%5D%5B%5D=2,3,4
这将解决我遇到的问题并使网址更具可读性。
提前致谢!