在函数内调用列名

时间:2012-01-16 17:27:09

标签: ruby-on-rails function

在我创建的函数中,我有一个循环来检查id是否为0,如果没有再次使用新id作为最后一行的parent_id

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

尽管如此,我收到undefined method 'parent_id'的错误。如何正确调用列名?

1 个答案:

答案 0 :(得分:1)

parent_id是一个实例方法,而不是类方法。您需要其中一个实例来调用它,在这种情况下,您似乎希望将Category.find_by_id(id)调用的结果保存到调用parent_id上。

作为旁注,您确实要检查id是否为0,因为Category.find_by_id(0)将返回nil,与0相比会产生错误此外,您应该可以使用find,默认为查找ID