2014-01-27 2 views
1

JBuilder를 Rails 3.2 프로젝트에 통합하려고합니다. 보석을 설치했으며 app/views/books/index.json.jbuilder에 JBuilder 파일을 작성했습니다.JBuilder를 Rails 3.2에서 렌더링하는 방법

def index 

    @books = Book.all 

    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @books } 
    end 
    end 

이 응답을 렌더링하는 Book의 기본 as_json 메소드를 호출하는 것 같다

여기 내 index 액션이다. Rails가 내 JBuilder 템플릿을 사용하도록 변경하려면 어떻게해야합니까?

답변

7

전달할 블록을 format.json (으)로 이동하십시오. jbuilder 파일을 무시하고 대신 응답으로 json: @books의 결과를 리턴합니다. 당신이 블록을두면 :

respond_to do |format| 
    format.html # index.html.erb 
    format.json # no block here 
end 

그런 다음 레일 응답의 기본 처리로 후퇴하고보기 디렉토리에서 템플릿을 찾을 것입니다, 그것은 제이빌더 파일을 찾아 응답으로 그 렌더링 수 있습니다.

+0

json 형식을 사용하여 jquery ajax 호출에있어 html 뷰를 찾으려고 시도합니다. –