如何在Rails中序列化整个ActiveRecord树?

时间:2012-06-09 05:25:25

标签: ruby-on-rails activerecord serialization tree

class Node < ActiveRecord::Base
  attr_accessible :name

  belongs_to :parent_node, :class_name => "Node", :foreign_key => :parent_id
  has_many :child_nodes, :class_name => "Node", :foreign_key => :parent_id
end

对于根节点,parent_id将为nill。 假设我有根节点的id,并希望以json格式将整个树打印到输出流。

我该怎么做?

假设树不包含任何循环。

1 个答案:

答案 0 :(得分:0)

听起来你需要awesome_nested_setwiki已有详细记录,但如果你不知道它就很难找到。

在您的情况下,您需要执行以下操作:

Node.root.self_and_descendants