ruby, как сгенерировать древовидную структуру массива формы?
У меня есть массив, который имеет список элементов, как этот
arr = [
{:id=>1, :title=>"A", :parent_id=>nil},
{:id=>2, :title=>"B", :parent_id=>nil},
{:id=>3, :title=>"A1", :parent_id=>1},
{:id=>4, :title=>"A2", :parent_id=>1},
{:id=>5, :title=>"A11", :parent_id=>3},
{:id=>6, :title=>"12", :parent_id=>3},
{:id=>7, :title=>"A2=121", :parent_id=>6},
{:id=>8, :title=>"A21", :parent_id=>4},
{:id=>9, :title=>"B11", :parent_id=>2},
{:id=>10, :title=>"B12", :parent_id=>2},
...
]
Еслиparent_id
являетсяnil
тогда его должен быть родительский узел, еслиparent_id
не являетсяnil
тогда это должно быть под конкретным родителем.
На основеid
а такжеparent_id
Я хочу дать ответ, как это:
-A
-A1
-A11
-A12
-A123
-A2
-A21
-B
-B1
-B11
-B12
Как я могу генерировать ответы, упомянутые выше?
Спасибо