실례합니다. Ruby를 처음 접했으나 프로그래밍이 아닙니다. 내 응용 프로그램에 계층 적 데이터를 저장하기 위해 Ancestry라는 보석을 사용하고 있습니다. 그들은 노드에서 모든 내림차순 자식, 손자 등의 중첩 된 해시를 반환하는 "자손"이라는 메서드를 가지고 있지만 각 노드를 반복하고 모든 자식 노드를 출력하는 데 어려움을 겪고 있습니다.중첩 된 해시를 걷는 데 도움이 필요합니다.
여기에 아래의 코드를 사용하여 해당 데이터를 통해 내가 루프, 부모 노드가 화면에 렌더링되는 끝낼 수있는 유일한 사람이있는 경우 데이터 구조가
{
#<Forum id: 16, name: "Parent 1", ancestry: "7", display_order: 1> =>{},
#<Forum id: 17, name: "Parent 2", ancestry: "7", display_order: 2> =>{},
#<Forum id: 13, name: "Parent 3", ancestry: "7", display_order: 3> =>
{
#<Forum id: 14, name: "Child 1", ancestry: "7/13", display_order: 1> =>{},
#<Forum id: 15, name: "Child 2", ancestry: "7/13", display_order: 2> =>
{
#<Forum id: 18, name: "Grand Child", ancestry: "7/13/15", display_order: 1> =>{},
}
}
}
의 모습입니다.
<% forum.descendants.arrange(:order => :display_order).map do |forum,key| %>
<%= render :partial => 'forum', :locals => {:forum => forum} %>
<% end %>
어떻게 하위 노드를 렌더링 할 수 있습니까? 나는 그들이 "핵심"변수를 통해 액세스 할 수 있다는 것을 알고 있지만, "핵심"변수에 렌더링 할 수있는 데이터가 있고 그 데이터를 출력하는 방법을 알 수있는 방법을 모르겠습니다. 어떤 제안?