我正在使用awesome_nested_set gem并且我已经在某处找到了(现在找不到),你需要做的就是在数据库中添加一个级别列,它会自动添加级别。
如果我运行
,它将创建关卡Subject.rebuild!
但我想在创建新的时候这样做。
我也试过以下但没有成功。
before_save do
self.level = ancestors.count
end
由于
答案 0 :(得分:0)
我遇到了类似的问题,尝试在self_and_ancestors
回调中访问before_save
。
问题是尚未在数据库级别创建子记录,但是self_and_ancestors
(顺便提一句,也由ancestors
引用)查询数据库,期待我们的新孩子已经创建了......
捕捉-22。
编辑:
这很丑陋,但作为awesome_nested_set这种限制的解决方法,这应该适用于OP(如果父级已经存在):
before_save do
self.level = self.parent.self_and_ancestors.count
end