【问题标题】:What is the correct way to remove a node from a tree managed by awesome_nested_set?从 awesome_nested_set 管理的树中删除节点的正确方法是什么?
【发布时间】:2011-09-01 08:21:25
【问题描述】:

目前尚不清楚如何从 awesome_nested_set 管理的树中正确移除一个节点或一组节点。

给定一个父节点和一个子节点,我试过了

parent.children.clear

但是,这会使树处于无法将子对象重新添加回父对象的状态。

我是否必须明确地将所有 lft、rgt 和 parent_id 列清空?

【问题讨论】:

  • 进一步的研究表明,如果我执行 child.update_attribute(:parent_id, nil) 并重新加载父母和孩子,这似乎有效。
  • 当前方法是 child.update_attribute(:parent_id, nil); parent.reload 这似乎可以做到。有人愿意确认或提供更好的选择吗?

标签: ruby nodes nested-sets


【解决方案1】:

OP 写道:

进一步的研究表明,如果我执行 child.update_attribute(:parent_id, nil) 并重新加载父母和孩子,那似乎可行。

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多