在我创建的函数中,我有一个循环来检查id
是否为0,如果没有再次使用新id
作为最后一行的parent_id
。
until Category.find_by_id(id) == 0
id = Category.parent_id
i += i
end
尽管如此,我收到undefined method 'parent_id'
的错误。如何正确调用列名?
答案 0 :(得分:1)
parent_id
是一个实例方法,而不是类方法。您需要其中一个实例来调用它,在这种情况下,您似乎希望将Category.find_by_id(id)
调用的结果保存到调用parent_id
上。
作为旁注,您确实要检查id
是否为0
,因为Category.find_by_id(0)
将返回nil
,与0相比会产生错误此外,您应该可以使用find
,默认为查找ID