2010-07-26 1 views
0

내 페이지가로드 될 때 AJAX 요청을 실행하려고합니다. 나는 이것이 내 컨트롤러에서 가장 좋을 것 같아요. 나는 새로운 페이지를 열부분 내부의 부분 내부를로드하는 방법은 무엇입니까?

먼저 ..

def text_tabs_nav 
end 

이 페이지는 AJAX 두 개의 서로 다른 부분 지문에 의해로드 할 수있는 능력을 가지고 있습니다. 그 중 하나를 기본값으로로드하려고합니다.

그래서 나는이 .. 어쩌면

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

생각 그리고 내 text_tabs_nav.js에 나는이 쓴 :

== $("#content").html("#{ escape_javascript(render :partial => 'about_us') }"); 

을하지만 자바 스크립트에 같은 자바 스크립트 load..I 사용하지 않았다 페이지가로드 된 후로드하고 잘 작동합니다.

사람들은 (about_us) 내에로드 된 기본 AJAX 부분과 함께 부분 (text_tabs_nav)을 어떻게로드 할 수 있는지 알 수 있습니다.

감사합니다.

답변

0

, 난 컨트롤러, 내보기에 추가 된 일반 전화를 따 돌렸다.

:javascript 
    $("#content").html("#{ escape_javascript(render :partial => 'about_us') }"); 

문제가 해결되었습니다.

0

바닐라 js 파일에 있기 때문에 구문 분석되지 않습니다. 당신이 원하는 것은 패배의 영광의 불꽃에 잘

text_tabs_nav.js.erb

+0

바닐라? 흠 .. 내 파일은 text_tabs_nav.js라고합니다. 내 컨트롤러를 format.js.erb로 바꾸었고 파일도 함께 바꿔서 렌더링하지 않았다. # Trip

+0

에 대한 정의되지 않은 메쏘드'erb '를 반환했습니다. 당신의 파일은'text_tabs_nav.js.erb'라고해야합니다. 그렇지 않으면 레일은 처리 할 루비가없는 일반 자바 스크립트 파일이라고 가정합니다. 'format.js' 행은 그대로 유지됩니다. 무엇이든 렌더링 할 때마다 확장자가없는 파일 (예 : "text_tabs_nav.js") 또는 템플릿 확장자 (.erb, .haml)가 있는지 찾습니다. –

+0

아 .. 나는 내가 햄슬/슬퍼하고 있다고 언급하는 것을 잊었다. 어느 단계가 가까워지면, 그것을'text_tabs_nav.js.haml'로 이름을 바꿨습니다. 따라서 컨트롤러에서 format.html을 제거하면 올바른 내용으로로드됩니다. 하지만 실제로 AJAX를 페이지에로드하지는 않습니다. – Trip