2013-05-25 65 views
-1

如何在View Ruby中动态创建N级树结构?在构建逻辑来渲染树结构时主要需要帮助。构建树结构动态查看Ruby on rails

+0

这里有什么问题吗? –

+0

是的,这个问题很模糊:渲染你的问题?是从控制器传递变量到视图的问题?在处理Ruby中的基本集合是你的问题?请多出示一些信息。 – poseid

+0

感谢您的回复,你理解我的问题,现在的问题是node.name和child.name在控制台打印,我希望他们(child.name和node.name)在视图中显示(index.html.erb) ... –

回答

1

我利用acts_as_tree红宝石的宝石,这是获得家长和孩子节点是非常有用的。

我创建了一个名为2个谐音_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%> 
0

您正在访问node.name,但是您接下来检查node是否为nil。当node已经是nil时,node.name将抛出NoMethodError

道德故事:编写测试以确保您的应用程序不会通过nilRecursion.traverse

+0

谢谢你的回复,现在检查我改变了代码..我的问题是不是与逻辑..问题是我如何显示node.name和child.name在index.html.erb(HTML页面),现在他们在控制台中显示 –

1

这似乎有点过分。下面将为你父在单个表&子关系:

class Node < ActiveRecord::Base 
    belongs_to :parent, :class_name => "Node" 
    has_one :child, :class_name => "Node", :foreign_key => :parent_id 
end