强制HTTP响应在Rails中返回Status 200

use*_*282 23 ruby-on-rails ruby-on-rails-3

除了我返回500的严重情况外,你如何强迫你的请求返回状态200?目前,我遇到的问题是我的客户端持续获得状态代码411(长度未指定),这导致我的测试框架出现问题.

有没有办法在Rails控制器中手动指定返回状态?

编辑:更具体地说,我知道你可以使用

:状态

但是在使用时我将它放在哪里

format.json {render:json => final_obj}

POST后返回HTTP响应?

xds*_*emx 52

render status: 200, json: @controller.to_json
Run Code Online (Sandbox Code Playgroud)

  • 我认为使用:ok而不是文字200更好.如果http改变,它变成别的东西:) (15认同)
  • @Purrell使用变量代替魔术数字只是一种很好的做法. (3认同)

Pet*_*der 11

如果我理解你的问题,我想这应该回答你的问题.

Ruby 1.9.3

format.json { render json: final_obj, status: :ok }
Run Code Online (Sandbox Code Playgroud)

Ruby 1.8.7

format.json { render :json => final_obj, :status => :ok }
Run Code Online (Sandbox Code Playgroud)