繁体   English   中英

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

[英]How to remove a key/value pair from a nested hash in params?

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

我的参数是:

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_cont

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

request.query_parameters.except(:q)

要么

params.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)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM