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

Ruby on rails 如何从params中的嵌套哈希中删除键/值对?,ruby-on-rails,ruby,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"=>""}, "comm

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

我的参数是:

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"}   
我想从
q
散列中删除
name\u cont

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

request.query_parameters.except(:q)

但每次我试着做以下事情:

except(:q[:name_cont])
except("name_cont")
except([:q][:name_cont])
我会犯错误

有什么想法吗?

你应该试试

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

您可以使用
除了如果需要就地修改,也可以使用。

使用哪种方法?除非或除非!
request.query_parameters[:q].except(:name_cont)
# or
params[:q].except(:name_cont)