无法通过rails4中的api调用会话销毁

时间:2015-06-23 20:15:05

标签: ruby-on-rails devise

我正在使用rails 4.1.8。我已经创建了一个API,用户可以通过会话#create创建auth_token,但是现在当我尝试访问会话#destroy时,它的响应是“错误:请在继续之前登录或注册”。

会话控制器

def destroy
 user = User.find_by(authentication_token: request.headers['Authorization'])
 user.generate_authentication_token!
 user.save
 head 204 
end

当我通过邮递员发布到http://localhost:3000/api/users/sign_out时,它给出了上面定义的错误。

路由

 GET    /api/users/sign_out(.:format)   api/devise/sessions#destroy
 GET    /api/users/sign_in(.:format)    api/sessions#new
 POST   /api/users/sign_in  api/sessions#create 
 DELETE /api/users/sign_out api/sessions#destroy

我想调用destroy以便它可以生成新的令牌。怎么称呼它?

1 个答案:

答案 0 :(得分:0)

我无法在会话控制器中调用它,最后我在用户控制器中编写了这个destroy方法并从那里调用它。如果有人知道答案,请发布,因为这只是一个临时解决方案。