给定以下Rails 4.2控制器:
class Api::UsersController < ApplicationController
def index
respond_to do |format|
format.html do
flash[:error] = 'Access denied'
redirect_to root_url
end
format.json do
render json: {}, status: :unauthorised
end
end
end
end
当使用rspec 3时,我尝试调用这个
index
操作,并期望有状态401,我总是有状态200。我得到401的唯一时刻是将
index
动作内容替换为head 401
,但是我想用错误401来响应,并构建一个类似{ error: 401, message: 'Unauthorised' }
的“好”体。为什么忽略
status: :unauthorised
? 最佳答案
使用错误代码代替其名称:render json: {}, status: 401
关于ruby-on-rails - 使用Rails 4响应状态为未经授权的(401),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28119606/