我有这个数组:
--- !map:ActiveSupport::HashWithIndifferentAccess
search: !map:ActiveSupport::HashWithIndifferentAccess
address: test
我将以下内容应用于此:
address = params['search']['address']
if address
# do something
end
如果没有搜索对象且没有地址对象,则此代码会引发错误:
当你没有时,你有一个零对象 期待它!你可能已经预料到了 数组的实例。发生错误 同时评估nil。[]
ruby处理类似事情的方式是什么?
答案 0 :(得分:2)
...首先
[...]例如我有这个数组:
只是为了澄清它实际上是一个专门的Hash
。
...其次
您可以这样做:
if params[:search] and params[:search][:address]
# do something with address
else
# no value given
end