1

我收到错误:

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已存在属性的内容。我为含糊不清道歉,但这是我能做的最好的。

4

1 回答 1

4

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

于 2010-02-27T22:26:41.153 回答