如何在 View Ruby on rails 中动态创建 N 级 Tree 结构?主要需要帮助构建逻辑来渲染树结构。
问问题
1147 次
3 回答
1
这似乎有些过度设计。以下将在单个表中为您提供父子关系:
class Node < ActiveRecord::Base
belongs_to :parent, :class_name => "Node"
has_one :child, :class_name => "Node", :foreign_key => :parent_id
end
于 2013-05-26T00:14:29.900 回答
1
我使用了acts_as_tree ruby gem,它在获取父节点和子节点时非常有用。
我创建了两个名为_parent.html.erb和_child.html.erb 的部分
我递归地渲染如下。
_parent.html.erb
// root nodes - nodes having no parent
<%root_nodes.each do |root_node|%>
<%= render :partial => "child", :object => root_node%>
<%end%>
_child.html.erb
// child nodes - nodes having parent
<%=child.name%>
child.children_nodes.each do |child_node|
<%=render :partial => "child", :object => child_node %>
<%end%>
于 2013-06-26T09:12:31.290 回答
0
您正在访问node.name
,但随后您检查是否node
在下nil
一行。node
已经是什么时候了nil
,node.name
就要扔了NoMethodError
。
故事的寓意:编写测试以确保您的应用程序不会nil
通过Recursion.traverse
.
于 2013-05-25T23:00:48.373 回答