【问题标题】:Ruby/Rails: How do I convert a keys-values string(with array value included) to valid hashRuby/Rails:如何将键值字符串(包括数组值)转换为有效哈希
【发布时间】:2023-08-06 14:39:01
【问题描述】:

我在将表单参数转换为 keysvalues 字符串然后将其转换为哈希以便稍后将此哈希用作重定向参数时遇到问题。

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

我使用类似的东西:

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

然后将复选框添加到字符串,然后

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

以上语句将所有重定向参数作为哈希。

如前所述,这很完美,但会跳过所有“key:array”对,因此重定向后我无法在表单中检查这些参数。

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

【问题讨论】:

    标签: ruby-on-rails ruby hash params


    【解决方案1】:

    我认为您可以通过将哈希传递给 redirect_to 来避免将参数转换为哈希并返回

    Passing parameters in rails redirect_to

    【讨论】:

    • 你是对的!最初这个任务有点不同,所以我从错误的一边开始。在您发表评论后,我明白我过于复杂了 :) 所以现在我只需序列化我的参数以将其保存在数据库中,从这里开始,所有其他事情都变得容易得多。谢谢!
    最近更新 更多