我正在使用嵌套的params(通过hansack嵌套为q)和普通的params一起在页面上构建链接,当我尝试将嵌套的params与其他params合并时,我很难让两者完美地玩.
例如,如果我有:
{"freq"=>"weekly", "loan_amount"=>"350000",
"q"=>{"lowEquity_true"=>"1", "s"=>"rate asc"}}
Run Code Online (Sandbox Code Playgroud)
并尝试构建一个链接来更改param"lowEquity_true"
rates_url(params[:q].merge(:lowEquity_true => '0'))
Run Code Online (Sandbox Code Playgroud)
然后我最终得到了下面的新参数,看起来像是更新了q但是丢掉了其余的参数.
{"lowEquity_true"=>"0", "s"=>"rate asc"}
Run Code Online (Sandbox Code Playgroud)
如果我试图将q&merge合并到其他参数中,它不会更新q,只是将q中的内容合并到其他参数中
rates_url(params[:q].merge(:lowEquity_true => '0').merge(params))
{"freq"=>"weekly", "loan_amount"=>"350000", "lowEquity_true"=>"0",
"q"=>{"lowEquity_true"=>"1", "s"=>"rate asc"},
"s"=>"rate asc"}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种各样的组合,似乎没有任何地方,所以我确信我错过了一些基本的东西!