ruby-on-rails - 在 Rails 中递归渲染相同的部分会使应用程序崩溃
问题描述
我试图通过每次使用不同的节点递归调用相同的部分来渲染节点树。但不知何故,它会无限次地用根节点调用部分,直到应用程序崩溃。
这是index.html.erb
<%= render(partial: "branch", head: @head)%>
这是_branch.html.erb
<%= @head.name%>
<%@head.children.each do |child|%>
<%= render( partial: "branch", head: child)%>
<%end%>
我在这里做错了什么?
解决方案
您要渲染每个分支,而不是@head
一遍又一遍:
<%= render(partial: "branch", object: @head) %>
然后部分看起来像这样:
<%= branch.name %>
<% branch.children.each do |child|%>
<%= render( partial: "branch", head: child)%>
<% end %>
部分的名称是表示内容的变量的名称。
推荐阅读
- javascript - VueJS | 如何在 vue.js 中获取 url 参数?
- python - 从 Django 数据库中检索超过当前时间的日期
- android - 当“npx react-native run-android”时,React-Native 没有这样的 AndroidManifest.xml
- java - 使用 Mockito 进行 Spring Boot JmsTemplate Junit 测试
- php - 如何在 laravel eloquent 中显示每个类别的视频
- flutter - AnimationController 未定义命名参数“vsync”
- sql - 将 3 维表存储在数据库中,其中 1 维随时间增加
- html - 可滚动内容溢出
- java - 如何在没有root的情况下在android中修剪整个设备的/缓存?
- android - 片段参数为 null 使用 launchFragmentInContainer