我有这个从 activerecord 传递的简单数组
[#<Product id: 1, parent_id: , text: "Hurray">, #<Product id: 2, parent_id: 1, text: "Hurray again">, #<Product id: 3, parent_id: 1, text: "Hurray again 2">, #<Product id: 4, parent_id: 2, text: "Boo yeah !">]
如您所见,每个条目都有一个parent_id
. 现在这里的想法是将Product
其与其子产品组合在一起。现在,子产品被知道的方式是它的parent_id
. 例如,Product 2's
父产品是Product 1
.
现在,我已经设置了数据库和控制器中的所有操作,以便交付的结果应该如下所述交付。
虽然,我现在无法以简单的格式显示细节。这可能应该看起来像 rails erb 页面
1. Product 1 has products
2. Product 2 has products
1. Product 4
3. Product 3 has products
Nil
4. Product 4 has products
Nil
我尝试运行所有产品的循环,并将 if 条件与if n.parent_id.present?
. 但是我只深了一层,正如你所看到的,我期望结果是多层次的,结果总是不同的。
任何帮助或指导在这里表示赞赏。
谢谢
更新:我尝试的是这个
<%@products.each do |n|%>
<li><%=Product "#{n.id}" has products%></li>
<%if n.parent_id.present?%>
<li><%=Product "#{n.id}" has products%></li>
<%end%>
<%end%>
您在这里看到的问题,如果级别太深,我无法继续使用 if/else。换句话说,我正在尝试为产品显示基于线程的视图。
希望我说得通:)。