强制控制器操作不返回HTTP状态代码(或呈现无效响应)

时间:2015-11-20 22:48:47

标签: ruby-on-rails

我知道如果我不在操作中明确调用render,Rails将尝试呈现200状态代码以及与控制器和操作匹配的模板。

有没有办法阻止Rails这样做,并且根本不返回HTTP状态代码?或者,我可以让控制器呈现无效的响应吗?原因很简单,我正在尝试使用Objective C中的委托方法,该方法仅在HTTP请求未收到有效响应时触发。

谢谢!

1 个答案:

答案 0 :(得分:1)

  

或者,我可以让控制器呈现无效的响应吗?

当然,如果您不想发送任何带有回复的正文,您可以在控制器中写一下:

head :bad_request

如果您想渲染并仍然发送无效的响应代码:

 render status: 500
 render status: :forbidden

一切都可以在这里的文档中找到: http://guides.rubyonrails.org/layouts_and_rendering.html#the-status-option