gpt4 book ai didi

ruby - 如何检查是否设置了哈希 cookie 值?

转载 作者:数据小太阳 更新时间:2023-10-29 08:53:49 24 4
gpt4 key购买 nike

通常我有:

cookies[:location] = { :value => { :city => 'foo', :country => 'bar' } } 

但是,有时 :country 没有设置。当我这样做时:

cookies[:location][:country].present? 

检查国家是否已设置,返回错误:

[:country] is not a symbol

如果我无法通过这种方式检查是否在 cookie[:location] 中设置了某个国家/地区?

最佳答案

cookies 散列的嵌套方式与您预期的不同::value 嵌套在 :location:city:country 嵌套在 :value 下。这是一些irb输出让你开始:

[~]$ irb
>> cookies={}
=> {}
>> cookies[:location] = { :value => { :city => 'foo', :country => 'bar' } }
=> {:value=>{:city=>"foo", :country=>"bar"}}
>> cookies[:location][:value][:country]
=> "bar"
>> cookies.to_s
=> "{:location=>{:value=>{:city=>\"foo\", :country=>\"bar\"}}}"

如果像下面这样嵌套散列,您将获得预期的行为:

>> cookies[:location] = { :city => 'foo', :country => 'bar' } 
=> {:city=>"foo", :country=>"bar"}
>> cookies[:location][:country]
=> "bar"

关于ruby - 如何检查是否设置了哈希 cookie 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6482357/

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