2013-05-25 66 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