2012-11-28 66 views
0

如何在Devise上强制响应JSON?设计 - 强制JSON响应

当我的控制器需要与

before_filter :authenticate_user! 

的反应仅仅是JSON,如果我张贴JSON数据认证。 但我想设计一些控制器和操作总是以JSON响应。

编辑

我使用

:token_authenticatable 

所以我传递的auth_token为每次来电:

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

我不知道如果我理解你的问题,但这可能是你在找什么。只要你的控制器内添加的respond_to像:

class MyController < ApplicationController 
    respond_to :json 

    ... 
end 
+0

感谢您的回复。我已经尝试过,但响应仍然是重定向。 – goo

0

您需要定义内容类型所需的响应的

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 

请看看的男人页面卷曲进一步的参数。