【发布时间】:2015-11-20 22:48:46
【问题描述】:
我知道如果我没有在操作中显式调用 render,Rails 将尝试呈现 200 状态代码以及匹配控制器和操作的模板。
有没有办法阻止 Rails 这样做,并且根本不返回 HTTP 状态代码?或者,我可以让控制器呈现无效响应吗?简短的原因是我正在尝试使用 Objective C 中的委托方法,该方法仅在 HTTP 请求未收到有效响应时触发。
谢谢!
【问题讨论】:
标签: ruby-on-rails
我知道如果我没有在操作中显式调用 render,Rails 将尝试呈现 200 状态代码以及匹配控制器和操作的模板。
有没有办法阻止 Rails 这样做,并且根本不返回 HTTP 状态代码?或者,我可以让控制器呈现无效响应吗?简短的原因是我正在尝试使用 Objective C 中的委托方法,该方法仅在 HTTP 请求未收到有效响应时触发。
谢谢!
【问题讨论】:
标签: ruby-on-rails
或者,我可以让控制器呈现无效响应吗?
当然,如果您不想在响应中发送任何正文,您可以在控制器中写入:
head :bad_request
如果你想渲染并且仍然发送无效的响应代码:
render status: 500
render status: :forbidden
所有内容都可以在此处的文档中找到: http://guides.rubyonrails.org/layouts_and_rendering.html#the-status-option
【讨论】: