2017-02-17 1 views
0

내가 제이빌더 파일이 방법 :확인하거나 설정 뷰 템플릿 확장

render :show 
#or 
render :show, template: "api/items/show" 

가 작동하지 않습니다

app/views/api/items/show.json.jbuilder 

코드 - template is missing,하지만 코드

render :show, template: "api/items/show.json" 

잘했다.

무엇이 잘못 되었나요? 무엇을 확인해야합니까? 보거나 덤프 할 파일을 선택하십시오.

답변

1

json 요청에 응답하는 레일스에 respond_to 메소드를 사용해야합니다.

headers: { 
    "Accept": "application/json" 
} 

가이와 제어 방법에 형식을 지정할 필요가 없습니다 :

def show 
    respond_to do |format| 
    format.json 
    end 
end 
+0

적어도 컨트롤러 클래스마다 전역으로 기본값으로 설정하는 방법이 있습니까? 나는 API 만 응용 프로그램을 작성하고 예상 답변의 또 다른 유형이 없습니다. –

+0

api 버전의 Rails를 사용하지 않습니까? – Iceman

+0

도움이되는 답변에 문제가 발생했습니다. 그러나 이유는 또 다른 것이 었습니다. –

1

또 다른 방법은 패스 HTTP 헤더입니다. 코드 :

render :show 

잘 작동합니다.

HTTP 헤더를 요청하는 일부 코드를 주석 처리했습니다. @Iceman이 대답하여 answer으로 표시된 답변을 찾을 수 있도록 올바른 방향으로 전달했습니다.