2010-02-27 73 views
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 

我懷疑這是一個範圍問題,但我不確定。任何指針將不勝感激。謝謝!

此處的目標是檢查用戶是否正在提交具有已存在的bar屬性的任何foos。我對這種含糊不清的道歉,但這是我能做的最好的。

+2

您是否有錯誤的行號?可能有助於縮小範圍... – dpb 2010-02-27 05:25:35

回答

3

如果你的一個foos(舊的或新的)沒有任何酒吧......然後你打電話給每個(或任何?)......你將會調用每個零對象。這可能是問題。 但是一個行號肯定會有所幫助。你能得到一個完整的堆棧跟蹤?