多维数组中不存在的查询对象

时间:2011-06-05 14:17:17

标签: ruby hash

我有这个数组:

--- !map:ActiveSupport::HashWithIndifferentAccess 
search: !map:ActiveSupport::HashWithIndifferentAccess 
  address: test

我将以下内容应用于此:

address = params['search']['address']
if address
  # do something
end

如果没有搜索对象且没有地址对象,则此代码会引发错误:

  

当你没有时,你有一个零对象   期待它!你可能已经预料到了   数组的实例。发生错误   同时评估nil。[]

ruby​​处理类似事情的方式是什么?

1 个答案:

答案 0 :(得分:2)

...首先

  

[...]例如我有这个数组:

只是为了澄清它实际上是一个专门的Hash

...其次

您可以这样做:

if params[:search] and params[:search][:address]
  # do something with address
else
  # no value given
end