【问题标题】:Force controller action not to return an HTTP status code (or render invalid response)强制控制器操作不返回 HTTP 状态代码(或呈现无效响应)
【发布时间】:2015-11-20 22:48:46
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

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

    当然,如果您不想在响应中发送任何正文,您可以在控制器中写入:

    head :bad_request
    

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

     render status: 500
     render status: :forbidden
    

    所有内容都可以在此处的文档中找到: http://guides.rubyonrails.org/layouts_and_rendering.html#the-status-option

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多