当我
render json: {
error: "No such user; check the submitted email address",
status: 400
}
然后做我的测试并检查
response.code
我得到 200 而不是 400
我确信这个荒谬的简单答案,但我一直在寻找一个小时,似乎无法让这个工作。我可以只解析 Json,然后检查状态码……但没有办法让 response.code 返回状态吗?我知道从技术上讲它是成功的,我认为这就是 response.code 返回 200 的原因,但我之前使用的是 Jbuilder,我可以直接影响返回的代码。
最佳答案
您已经在那里创建了 json,它将被返回,并且在该 json 中将是状态的标识 - 400。但是,这并没有告诉 Rails 在 header 中发送 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。
关于ruby-on-rails - rails : Render Json Status Problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21896521/