У меня есть массив (отсортированный по атрибуту, называемому node_id) объектов ruby, который в основном нужно визуализировать на внешнем интерфейсе в виде дерева (ul> li> ul> li ...). Я использую рельсы 2.3.8. Этот объект исходит из БД, структура которого не может быть легко модифицируема.
[#<Node node_id: 3, children: "10, 42",name: "A", weight: 45, root: true>,
#<Node node_id: 4, children: "6,88", name: "B", weight: 32, root: true]
#<Node node_id: 6, children: nil, name: "X", weight: 12, root: false>,
#<Node node_id: 7, children: "9", name: "P", weight: 98, root: true>,
#<Node node_id: 9, children: nil, name: "Q", weight: 12, root: false>,
#<Node node_id: 10, children: "23,56",name: "R", weight: 34, root: false>,
#<Node node_id: 13, children: nil, name: "T", weight: 75, root: true>,
#<Node node_id: 23, children: nil, name: "C", weight: 57, root: false>,
#<Node node_id: 42, children: nil, name: "D", weight: 25, root: false>,
#<Node node_id: 56, children: nil, name: "Y", weight: 50, root: false>
#<Node node_id: 88, children: nil, name: "W", weight: 15, root: false>]
Каков наилучший способ производительности и дизайна для визуализации такого дерева в интерфейсе? Это просто примерный набор, дерево не всегда сбалансировано и может иметь сотни узлов.