在Rails中返回一个特定的http状态码
如何在整个应用程序中返回503服务不可用的Rails?
另外,你如何做同样的具体控制器?
对于整个应用程序:
# ApplicationController before_filter :return_unavailable_status private def return_unavailable_status render :nothing => true, :status => :service_unavailable end
如果你想要一个自定义的错误页面,你可以这样做:
render 'custom_unavailable_page', :status => :service_unavailable
如果你不想为特定的控制器:
# SomeController skip_before_filter :return_unavailable_status
您可以使用:status
render :status => 503
你可以把它放到ApplicationController中来做到这一点
before_filter :render_unavailable def render_unavailable render :nothing => true, :status => 503 end
更新
Rails 5+
head 503 # or head :service_unavailable
不要把render head: 503
只是头。 否则,你会得到双渲染错误。
以下为我工作:
format.any { render :json => {:response => 'Unable to authenticate' },:status => 401 }
HTML响应的响应,以防万一从浏览器访问它。
渲染头503似乎没有与上述语句一起工作。