2010-12-12 71 views
0

我想用血統制作一個simpel treelistmenu。Rails ancestry treemenu幫助

這是我考慮的代碼,它不工作:

<ul> 
<% for cat_opg in CatOpg.roots %> 
<li> <%= cat_opg.navn %><li> 
<% for cat_opg in CatOpg.children %> 
<li> <%= cat_opg.navn %><li> 
</ul> 
<% end %> 
</ul> 
<% end %> 

而且我的控制器: DEF清單當然 @cat_opg = CatOpg.find(:所有) 結束

我想使這個simpel樹形菜單爲:

- 兒童

- 兒童

我不知道我做錯了。 PS:我是一名導軌初學者

+0

我給了一個解決類似的問題[這裏](http://stackoverflow.com /問題/ 4308787 /使用-Rails的多態性換嵌套評論/ 4308919#4308919)。 – 2010-12-12 08:21:53

+0

[This one](http://stackoverflow.com/questions/13578945/how-to-render-nested-ul-list-for-ancestry-tree-view/14431802#14431802)爲我工作 – maxcobmara 2013-04-22 15:40:08

回答

0

亞歷克斯感謝您的回答。

現在,它的工作原理

控制器:@cat_opg = CatOpg

和視圖:

<ul> 
    <% @cat_opg.roots.each do |cat_opg_root| %> 
    <li> <%= cat_opg_root.navn %></li> 
     <% unless cat_opg_root.children.empty? %> 
     <ul> 
     <% cat_opg_root.children.each do |cat_opg_child| %> 
      <li> <%= cat_opg_child.navn %></li> 
     <% end %> 
     </ul> 
    <% end %> 
    <% end %> 
</ul> 
1

首先,您正在考慮建模,而不是局部變量。
其次,你正在重寫變量。

應該是這樣的:

<ul> 
<% cat_opg.roots.each do |cat_opg_root| %> 
<li> <%= cat_opg_root.navn %><li> 
<% cat_opg_root.children each do |cat_opg_child| %> 
    <li> <%= cat_opg_child.navn %><li> 
    </ul> 
<% end %> 
</ul> 
<% end %>