在Rails中递归渲染相同的部分会使应用程序崩溃

时间:2019-04-02 23:01:40

标签: ruby-on-rails ruby

我试图通过每次使用不同的节点递归调用相同的部分来渲染节点树。但是有一些方法,它会无限次地调用带有根节点的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%>

我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

您要一遍又一遍地渲染每个分支,而不是相同的@head

<%= render(partial: "branch", object: @head) %>

然后部分看起来像这样:

<%= branch.name %>

<% branch.children.each do |child|%>
    <%= render( partial: "branch", head: child)%>
<% end %>

partial的名称是代表内容的变量的名称。