如何从params中的嵌套哈希中删除键/值对?

时间:2015-02-19 17:25:19

标签: ruby-on-rails ruby

我想从我的参数中的嵌套哈希中删除键/值。

我的参数是:

Parameters: {"utf8"=>"✓", "q"=>{"upward_trending"=>"", "downward_trending"=>"", "name_cont"=>"test", "category_id_in"=>["1", ""], "country_eq"=>"", "end_date_gteq"=>"", "end_date_lteq"=>""}, "commit"=>"Filter", "type"=>"Dailyd
eal"}   

我想从name_cont哈希中删除q

我可以通过执行以下操作删除完整哈希:

request.query_parameters.except(:q)

params.except(:q)

但每次我尝试以下任何事情:

except(:q[:name_cont])
except("name_cont")
except([:q][:name_cont])

我收到错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你应该试试

request.query_parameters[:q].except(:name_cont)
# or
params[:q].except(:name_cont)

如果您想进行就地修改,也可以使用except!