Ruby: неверный тип аргумента nil (ожидаемые данные) - PullRequest
1 голос
/ 27 февраля 2010

Я получаю сообщение об ошибке:

wrong argument type nil (expected Data)

Вот мой код (имена были изменены, чтобы защитить невинных;)):

old_foos.each do |foo|
  foo.bars.each do |old_bar|
    if new_foo.bars.any? {|new_bar| new_bar.name == old_bar.name} #assume new_foo is properly set
       check = 1
    end
  end
end
if check == 1
  do_something!
end

У меня есть ноющее подозрение, что это проблема масштаба, но я не уверен. Любые указатели будут с благодарностью. Спасибо!

Цель здесь - проверить, отправляет ли пользователь какие-либо foos с уже существующим свойством bar. Я прошу прощения за неопределенность, но это лучшее, что я могу сделать.

1 Ответ

3 голосов
/ 28 февраля 2010

Если у одного из ваших foos (старых или новых) нет баров ... и затем вы вызываете каждый (или любой?) На нем ... вы будете вызывать каждый на нулевом объекте. Это может быть проблемой. Но номер строки, безусловно, поможет. Можете ли вы получить полную трассировку стека?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...