Ruby on rails 如何使用嵌套集合生成嵌套列表

Ruby on rails 如何使用嵌套集合生成嵌套列表,ruby-on-rails,nested-sets,Ruby On Rails,Nested Sets,我在Rails项目中使用了很棒的嵌套插件。我试图创建这样的嵌套无序列表,但我没有任何运气: <ul> <li>Test 1</li> <li> Test 2 <ul> <li>Test 2.1</li> <li>Test 2.2</li> </ul> <

我在Rails项目中使用了很棒的嵌套插件。我试图创建这样的嵌套无序列表,但我没有任何运气:

<ul>
    <li>Test 1</li>
    <li>
        Test 2
        <ul>
            <li>Test 2.1</li>
            <li>Test 2.2</li>
        </ul>
    </li>
    <li>
        Test 3
        <ul>
            <li>Test 3.1</li>
            <li>Test 3.2</li>
            <li>Test 3.3</li>
        </ul>       
    </li>       
</ul>
  • 测试1
  • 测试2
    • 测试2.1
    • 测试2.2
  • 测试3
    • 测试3.1
    • 测试3.2
    • 测试3.3
另外,我希望通过一个db查询来实现这一点。这里有一个类似的问题,并有一个公认的答案,但这个解决方案对我不起作用。

使用局部渲染子对象,并使用子对象方法开始渲染:

在:_tree.html.erb中

<% content_tag :li, :id => dom_id(menu) do %>
  <span class="handle"><%= menu.title %></span>    
  <% content_tag :ul do %>
   <% for child in menu.children do %>
    <%= render :partial => "tree", :locals => {:menu => child }%>
   <% end %>
  <% end unless menu.leaf? %>
 <% end %>
dom\u id(菜单)do%>
“树”,局部变量=>{:菜单=>child}%>
输入:show.html.erb

<%= render :partial => "tree", :locals => {:menu => @menu} %> 
“树”,局部变量=>{:menu=>@menu}%>

用对象替换@menu

是我还是将对每个分支执行DB查询?