2012-04-21 3 views
3

특정 조건 하에서 ayax 요청을 통해 .html.erb 템플릿을 렌더링하려고합니다. 기본적으로 나는 ajax 요청을 보낼 때 .js.erb 파일을 되 돌린다.레일즈 3에서 ajax 요청을 사용하여 html 페이지를 요청하는 방법은 무엇입니까?

나는 왜 내가이 일을하는지 알지 못하지만 js보다는 html 콘텐츠를 원하는 아약스를 통해 요청을 보낼 때 지정하는 방법이 있는지 궁금해하고 있습니다. 또는 레일스 3.1에서 다음을 리팩터링 할 수있는 방법이 있다면 :

respond_to do |format| 
    format.html 
    format.js do 
    if params[:page].nil? 
     render "home.html.erb" 
    else 
     render "home.js.erb" 
    end 
    end 
end 

고마워!

답변

3

당신이 jQuery를 사용하는 가정하면, (URL에 형식을 추가 즉,

$.ajax('some/page', {dataType: 'html'}) 

또는

$.get('some/page', function(){ //callback}, 'html') 

를 데이터 유형 옵션을 설정할 수 있습니다 즉. 요청 '/some/page.html을 ')도 작동해야합니다 (요청에 관계없이)

+0

대단히 감사합니다! –

관련 문제