gpt4 book ai didi

ruby - 检查参数是否为最短的方法[ :x][:y] exists

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:52 27 4
gpt4 key购买 nike

我正在尝试检查 params[:search][:city] 是否存在,但这是我得到的:

do_magic if params[:search].try(:city) # undefined method `city' for {"city"=>["3"]}:ActiveSupport::HashWithIndifferentAccess

如果 key 存在,则会出现此错误,但当 key 不存在时,它会出人意料地起作用。

请记住,:search:city 可能根本不存在于参数哈希中。

有什么想法吗?

最佳答案

try 正在尝试调用具有给定名称的方法。您需要一个带参数的 [] 方法。

do_magic if params[:search].try(:[], :city)

关于ruby - 检查参数是否为最短的方法[ :x][:y] exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12035444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com