2012-01-16 46 views
0

在我創建的函數內部,我有一個循環來檢查id是否爲0,如果不是,再次檢查最後一行的新idparent_id在函數內調用列名稱

until Category.find_by_id(id) == 0 
     id = Category.parent_id 
     i += i 
end 

隨着不過,我得到的undefined method 'parent_id'錯誤。我如何正確調用列名稱?

回答

1

parent_id是一個實例方法,而不是一個類方法。你需要你的一個實例來調用它,在這種情況下,看起來你想要保存Category.find_by_id(id)調用的結果,並打電話給parent_id

作爲一個側面說明,你真要檢查是否id0,因爲Category.find_by_id(0)將返回nil,與0。此外相比,將拋出一個錯誤,你應該能夠使用find,默認爲找ID

+0

作爲一個方面說明,比較不能拋出錯誤 – BitOfUniverse 2012-01-16 18:52:05

+0

比較可以拋出一個錯誤,但在這種情況下你是正確的。它不會拋出一個錯誤(我正在考慮'>'和家人) – 2012-01-17 07:06:08