当我
render json: {
error: "No such user; check the submitted email address",
status: 400
}
然后进行测试并检查
response.code
我得到200而不是400
我肯定这个荒谬简单的答案,但我一直在寻找一个小时,似乎无法让这个工作。我可以解析Json,然后检查状态代码......但是没有办法让response.code返回状态?我理解技术上它是成功的,我认为这就是为什么response.code返回200,但我之前使用的是Jbuilder,直接影响返回的代码。
答案 0 :(得分:73)
你已经在那里创建了json,它将被返回,并且json将是状态的标识--400.但是,这并没有告诉Rails在标题中发送400状态。
你可以这样做:
render json: {
error: "No such user; check the submitted email address",
status: 400
}, status: 400
或类似
payload = {
error: "No such user; check the submitted email address",
status: 400
}
render :json => payload, :status => :bad_request
您可以使用符号:bad_request或状态号400。