2

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

<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>

另外,我希望用一个数据库查询来做到这一点。这里有类似的问题,有一个接受的答案,但该解决方案对我不起作用。
如何将嵌套集中的所有记录呈现到真正的 html 树中

4

1 回答 1

2

使用部分渲染孩子并使用孩子方法将其启动:

在:_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 %>

在:show.html.erb

<%= render :partial => "tree", :locals => {:menu => @menu} %> 

将 @menu 替换为您的对象。

于 2011-01-05T17:55:05.580 回答