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