Ruby:错误的参数类型为nil(预期数据)

时间:2010-02-27 01:53:16

标签: ruby-on-rails ruby arrays

我收到了错误:

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 个答案:

答案 0 :(得分:3)

如果你的一个foos(旧的或新的)没有任何条形......然后你打电话给它(或任何?)......你将在每个对象上调用它们。这可能是个问题。 但是一个行号肯定会有所帮助。你能获得完整的堆栈跟踪吗?