我试图通过每次使用不同的节点递归调用相同的部分来渲染节点树。但是有一些方法,它会无限次地调用带有根节点的partial,直到应用崩溃为止。
这是index.html.erb
<%= render(partial: "branch", head: @head)%>
这是_branch.html.erb
<%= @head.name%>
<%@head.children.each do |child|%>
<%= render( partial: "branch", head: child)%>
<%end%>
我在这里做什么错了?
答案 0 :(得分:0)
您要一遍又一遍地渲染每个分支,而不是相同的@head
:
<%= render(partial: "branch", object: @head) %>
然后部分看起来像这样:
<%= branch.name %>
<% branch.children.each do |child|%>
<%= render( partial: "branch", head: child)%>
<% end %>
partial的名称是代表内容的变量的名称。