我在我的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>
此外,我希望通过一个db查询来完成此操作。这里有类似的问题和一个公认的答案,但解决方案对我不起作用 How to render all records from a nested set into a real html tree
答案 0 :(得分:2)
使用partial来渲染子项并使用children方法启动它们:
in:_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 %>
in:show.html.erb
<%= render :partial => "tree", :locals => {:menu => @menu} %>
将@menu替换为您的对象。