2010-12-08 106 views
2

我在Rails項目中使用了awesome_nested_set插件。我試圖創建嵌套無序列表這樣的,但我沒有任何運氣:如何用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> 

而且,我希望能與1分貝查詢做到這一點。這裏有一個類似的問題與接受的答案,但解決方案不適合我。
How to render all records from a nested set into a real html tree

回答

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替換爲您的對象。

+3

是我還是這將要執行每個分支的數據庫查詢? – Papipo 2011-12-04 12:20:39