Como renderizar todos os registros de um conjunto aninhado em uma árvore html real

Estou usando oawesome_nested_set plugin no meu projeto Rails. Eu tenho dois modelos que se parecem com isso (simplificado):

class Customer < ActiveRecord::Base
  has_many :categories
end

class Category < ActiveRecord::Base
  belongs_to :customer

  # Columns in the categories table: lft, rgt and parent_id
  acts_as_nested_set :scope => :customer_id

  validates_presence_of :name
  # Further validations...
end

A árvore no banco de dados é construída conforme o esperado. Todos os valores deparent_id, lft ergt estão corretas. A árvore tem vários nós raiz (o que é permitido emawesome_nested_set).

Agora, quero renderizar todas as categorias de um determinado cliente em uma estrutura de árvore ordenada corretamente: por exemplo, aninhado<ul> Tag. Isso não seria muito difícil, mas eu preciso que seja eficiente (quanto menos consultas SQL melhor).

Atualizar: Descobri que é possível calcular o número de filhos para um determinado Nó na árvore sem mais consultas SQL:number_of_children = (node.rgt - node.lft - 1)/2. Isso não resolve o problema, mas pode ser útil.

questionAnswers(7)

yourAnswerToTheQuestion