Archive for November, 2006

recursive rails view helper that prints a tree

def display_tree_recursive(tree, parent_id)
  ret = "\n
    ” tree.each do |node| if node.parent_id == parent_id ret += “\n\t
  • ” ret += yield node ret += display_tree_recursive(node.children, node.id) { |n| yield n } unless node.children.empty? ret += “\t
  • \n” end end ret += “
\n” end def print_path_to_node(node, separator) path = “” path += print_path_to_node(node.parent, separator) { |n| yield n } unless node.parent.nil? path += yield node path += separator unless node.children.empty? return path end