尝试对一个对象执行 root_id 时遇到问题。类看起来像:
# == Schema Information
#
# id :integer not null, primary key
# name :string(255)
# ancestry :string(255)
class PackageCategory < ActiveRecord::Base
has_ancestry
end
该数据库表看起来:
id name ancestry
1 Root NULL
2 Child 1-1 1
3 Child 1-2 1
4 Child 2-1 2
5 Child 3-1 4
当我做:
@p = PackageCategory.find 5
puts @p.root_id
我正进入(状态:4
当我输入:
@p.path_ids
我正进入(状态:[4, 5]
puts @p.name
给我Child 3-1
(这是正确的)
那么,问题出在哪里?我不应该进入第一种情况1
和第二种情况[1, 2, 4, 5]
吗?