2013-07-31 1 views
1

내 문서에 댓글을 추가했습니다. 주석이 제출되면 주석 부분은 AJAX를 통해 새 주석으로로드/업데이트됩니다. 이 부분 안에는 두 번째 부분 (아약스에 의해로드 된 부분)을로드하고 주석에 대한 주석을 제출하는 링크 (즉, 주석 하위)가 있습니다.ajax를 통해 부분로드 ahax로로드 된 하위 부분

새 메모를 추가하면 부분적으로 새 메모가 예상대로 다시로드되지만 두 번째 부분을로드하는 링크는 페이지를 다시로드하지 않으면 작동하지 않습니다. 내가 div 및 문서의 요소에 첫 번째 부분을 위임 할 필요가 있다고 생각하므로 자바 스크립트 (두 번째 부분로드)가로드되고 실행됩니다. 어떻게 수행 할 수 있습니까? 여기 내 설정이다 :

Create.js.erb :

$('#ajax').html("<%= j comments(@document, @current_user) %>"); 

이 부분 의견의 내부 의견 컨트롤러

def create 

    .... 

    respond_to do |format| 
    format.js 
    end 
end 


에 조치를 만들기 두 번째 부분을 적재 할 수 있으며, 어린이 의견을 제출하는 양식 (예 : commen에 대한 의견 ts).

링크 (첫번째 부분 안에있는) 주석의 자녀를두고/두 번째 부분 트리거 할

= link_to "Reply", {:controller => :documents, :action => :show}, { :method => :get, :remote => true} 

Show.js.erb : 문서 컨트롤러

$('#comment_child_form_<%= @comment_parent.id %>').html("<%= j comment_child_form(@current_user, @document, @comment_parent) %>"); 

표시 작업

def show 

    .... 

    respond_to do |format| 
    format.html 
    format.js 
    end 
end 

참고 : 나는 레일 3.2.12을 사용하고

+0

당신이 사용하는 레일 버전이 명확하지 않습니다. – rmagnum2002

+0

채팅에 참여하기 http://chat.stackoverflow.com/rooms/34513/http-stackoverflow-com-questions-17965127-loading-partial-via-ajax-inside-paren – rmagnum2002

답변

0

내 두 js.erb 파일을 결합하여이 문제를 해결할 수 있었다 :

create.js.erb

$('#ajax').html("<%= j comments(@document, @current_user) %>"); 
$('.reply-btn').click(function(){ 
    $('#comment_child_form_<%= @comment_parent.id %>').html("<%= j comment_child_form(@current_user, @document, @comment_parent) %>"); 
}); 

그러나, 나는 여전히 jquery를 기존의 고정 html 요소 (부분적으로는 안됨)에 위임/추가하는 방법을 확신하지 못한다. 'body') 다른 모든 자바 스크립트가로드 된 부분에 포함 (및 실행)되도록합니다. 이 문제에 대한 해결 방법은 크게 감사하겠습니다.