나는 지난 2 일 동안 조상 보석을 찾으려 고 노력하고 있습니다. 하나 또는 두 개의 자습서를 확인했지만 그들은 오래되었고 실수 나 할 일이 많습니다. 작동하지 않습니다. 나는 약간의 조상을 잡을 수 있었지만 부모, 자녀, 뿌리 및 손자를 올바르게 정의하는 방법에 대한 도움을 원합니다. 설명서를 읽었지만 제대로 처리 할 수 없습니다. 내 프로젝트의 흐름입니다.루비에서 부모 - 자식 - 손자 관계를 생성하기 위해 조상 보석 사용하기
---- 상위 1
------ 자식 1
--------- Grandchild1
------ 자식 2
-
지금 내가 홀드 (Ahold) 부모 ID.This을 만드는 방법으로 입수했습니다 자식 1
--- Parent2------는 m입니다 y 코드.
def index
@messages = Message.all
end
def show
@page = Message.where(:ancestry => params[:id])
end
def new
@message_id = Message.find(params[:id])
end
def create
@page = Message.new(message_params)
@page.parent_id = params[:parent_id]
#@page = Message.new(message_params)
if @page.save
flash[:notice] = "The Mesage was created succeffully"
redirect_to(:action => 'index')
else
render('new')
end
end
이것은 데이터를 표시하고 메시지를 게시 할 수있는 색인 파일입니다.
<div class="Pages index">
<h2>Messages</h2>
<%= link_to("Add new Page",{:action => 'new'}, :class => 'action new') %>
<table class="listing" summary="Page list">
<tr class="header">
<th> </th>
<th>ID</th>
<th>Content Title</th>
<th>Content</th>
<th>Parent Id</th>
</tr>
<% @messages.each do |page| %>
<tr>
<td><%= page.id %>
<td><%= page.content_title %>
<td class="center"><%= page.content %>
<td class="center"><%= page.parent_id %>
<td class="actions">
<%= link_to("Reply",{:action => 'new',:id => page.id},:class =>'action show') %>
<%= link_to("Show",{:action => 'show',:id => page.id},:class =>'action show') %>
</td>
</tr>
<% end %>
</table>
</div>
<div class="Pages new">
<h2> Create Pages</h2>
<%= form_for(:message, :url => {:action => 'create'}) do |f| %>
<table summary="Page form fields">
<tr>
<th>Content_title</th>
<td><%= f.text_field(:content_title) %></th>
</tr>
<tr>
<th>Content</th>
<td><%= f.text_field(:content) %></th>
</tr>
</table>
<div class="form-buttons">
<%= submit_tag("Submit Form") %>
</div>
<% end %>
</div>
이
는 사용자가 응답 버튼이 간단 이제 PARENT_ID<div class="Pages new">
<h2> Create Pages</h2>
<%= form_for(:message, :url => {:action => 'create',:parent_id => @message_id}) do |f| %>
<table summary="Page form fields">
<tr>
<th>ParentID</th>
<td><%= f.text_field(:id) %></th>
</tr>
<tr>
<tr>
<th>Content Title</th>
<td><%= f.text_field(:content_title) %></th>
</tr>
<tr>
<th>Content</th>
<td><%= f.text_field(:content) %></th>
</tr>
</table>
<div class="form-buttons">
<%= submit_tag("Submit Form") %>
</div>
<% end %>
</div>
을 Heres 쇼 파일
<%= link_to("Back to List",{:action => 'index'}, :class => 'action new') %>
<div class="Pages show">
<h2> Show Pages</h2>
<table summary="Pages detail view">
<th>Parent ID</th>
</tr>
<tr>
<th>Message Content Title</th>
</tr>
<tr>
<th>Content</th>
</tr>
<% @page.each do |page| %>
<tr>
<td><%= page.id %>
<td><%= page.content_title %>
<td class="center"><%= page.content %>
<td class="center"><%= page.parent_id %>
</td>
</td>
</td>
</td>
</tr>
<%end%>
</table>
을 통과 누르면 응답 파일입니다하지만 난 어떻게 선택합니까 노드의 루트 및 하위 노드와이를 표시하는 방법을 설명합니다. 아이디어를 얻기 위해 레일 콘솔을 사용해 보았습니다. 예 : 부모가 여러 자식을 포함하는 경우 결과를 표시하지만 자식이 자식을 포함하는 경우 상위 자식이 모든 손주를 표시 할 때 아무 것도 표시하지 않습니다 또한 표시됩니다. 나는 이것으로 혼란스러워합니다. 도움이 인정됩니다.
'@ messages' 변수가 어디에 선언되어 있는지 보여 줄 수 있습니까? – lcguida
그것을 추가하는 것을 잊었다. 여기있다 – soldiershin
나는 당신이 여기에서 달성하는 것을 시도하고 있다는 것을 이해할 수 없었다. 당신은 모든 메시지를 받고 그들을 나열합니다. 코드에서이 부모/자식 관계가 표시되는 것을 어디에서 볼 수 있습니까? – lcguida