我正在拯救未经授权的例外,并希望在此救援区内发布警报。由于这是在我的应用程序控制器中,这种救援可以以多种格式命中,因此我需要一个respond_to
块。
如果我在没有respond_to
的情况下这样做,一切正常。状态设置为401,我看到正确的异常消息闪烁。
render :json => exception.message, :status => 401
但是,如果我在repond_to
块中执行相同操作,则无效。状态未设置,异常消息无法呈现。
respond_to do |format|
format.json { render :json => exception.message, :status => 401 }
end
这可能是什么问题?我已经查看了大量的例子,这似乎应该可行,但状态和信息似乎被忽略了。
答案 0 :(得分:0)
此外,您正在使用
呈现jsonrender :json => exception.message, :status => 401
您正在回复HTML请求...所以如果您需要在浏览器上呈现它,您需要自己处理所有格式...
respond_to do |format|
format.json { ... }
format.html { ... }
end