使用此插件时,是否有一种简单的方法可以显示整个嵌套集?我想做的是显示一个无序列表的根节点,每个子节点内还有另一个无序列表,其中还包含子节点等等?
任何建议表示赞赏。
谢谢。
使用此插件时,是否有一种简单的方法可以显示整个嵌套集?我想做的是显示一个无序列表的根节点,每个子节点内还有另一个无序列表,其中还包含子节点等等?
任何建议表示赞赏。
谢谢。
有几种方法可以做到这一点。最简单的方法是从根开始并解析每个节点及其子节点。我要做的第一件事是为节点标记制作部分内容:
_your_model.html.erb
<li>
<%= your_model.name %>
<% unless your_model.children.empty? %>
<ul>
<%= render your_model.children %>
</ul>
<% end %>
</li>
接下来编辑您的视图,以便呈现第一个根节点:
<ul>
<% YourModel.roots.each do |node| %>
<%= render node %>
<% end %>
</ul>
使用 your_model.children 每次遇到数据库时都需要再次点击,这是不可取的。
我创建了一个帮助程序,它可以帮助生成嵌套的 ul 和 li 标记,只有一次数据库命中。您可以根据自己的需要修改此帮助程序:
您可以通过一个查询获得整个集合:Category.order("lft ASC")
如果你有:depth
专栏,瞧!一个查询,只需编写您的视图以使用 :depth。