объект запроса в многомерном массиве, который не существует - PullRequest
0 голосов
/ 05 июня 2011

У меня есть этот массив:

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

Я применяю к нему следующее:

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

Если нет объекта поиска и объекта адреса, этот код вызывает ошибку:

У вас есть нулевой объект, когда вы его не ожидали!Возможно, вы ожидали экземпляр Array.Произошла ошибка при вычислении nil. []

Какой способ в ruby ​​обрабатывать что-то подобное?

1 Ответ

2 голосов
/ 05 июня 2011

Во-первых ...

[...] Например, у меня есть этот массив:

Просто чтобы уточнить, что это на самом деле специализированный Hash.

Во-вторых ...

Вы можете сделать что-то вроде этого:

if params[:search] and params[:search][:address]
  # do something with address
else
  # no value given
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...