2012-11-28 9 views
0

Devise에서 JSON에 대한 응답을 강제로 적용하려면 어떻게해야합니까?Devise - Force JSON Response

내 컨트롤러는

before_filter :authenticate_user! 

내가 JSON 데이터를 게시 할 경우 응답은 JSON에와 인증이 필요합니다. 하지만 Devise가 일부 컨트롤러와 동작을 위해 JSON에서 항상 응답하기를 바랍니다. 나는 내가 모든 통화에 대해 AUTH_TOKEN을 전달하고

:token_authenticatable 

을 사용하고

편집

: 토큰이 잘못된 경우

curl --data "token=xyzHtPAFGuAuFiVWsxsZ&receipt=adsfadsfsdfdsf" http://0.0.0.0:3000/user/receipt 

그러나 응답은 HTML 리디렉션입니다

<html><body>You are being <a href="http://0.0.0.0:3000/users/sign_in">redirected</a>.</body></html> 

그 응답이 JSON이 되길 원합니다.

답변

0

질문을 이해했는지 모르겠지만 찾고있는 내용 일 수 있습니다. 당신은 콘텐츠 형식 원하는 응답의를 정의 할 필요가

class MyController < ApplicationController 
    respond_to :json 

    ... 
end 
+0

응답 해 주셔서 감사합니다. 나는 그것을 시도했지만 응답은 여전히 ​​리다이렉트한다. – goo

0

: 그냥 같은 컨트롤러 내부 respond_to를 추가합니다.

curl -X POST \ 
    -H "Content-Type:application/json" \ 
    -H "Accept:application/json \ 
    -d "token=xyzHtPAFGuAuFiVWsxsZ&receipt=adsfadsfsdfdsf" \ 
     http://0.0.0.0:3000/user/receipt 

추가 매개 변수에 대한 컬 의 man 페이지에서 참조하시기 바랍니다.