Ruby/Rails:如何将键值字符串(包含数组值)转换为有效哈希

Ruby/Rails: How do I convert a keys-values string(with array value included) to valid hash

我在将表单参数转换为 keysvalues 的字符串时遇到问题,然后将其转换为散列以使用此散列作为重定向参数稍后。

单值参数一切正常,但我有 2 组复选框,我不确定如何处理这些复选框。

我使用类似的东西:

search_params.concat("categories=[#{params[:categories].map {|a| %Q('#{a}')}.join(', ')}]")

并向字符串添加复选框,然后

Hash[last_search.sub('?', '').scan /([^=]+)=([^&]+)[&$]/]

以上语句将所有重定向参数作为散列。

如前所述,这非常有效,但会跳过所有 'key: array' 对,因此我无法在重定向后检查表单中的这些参数。

请帮助我了解如何处理它或如何以不同的更好的方式处理它。

我认为您可以通过将散列传递给 redirect_to

来避免将参数转换为散列并返回

Passing parameters in rails redirect_to