【问题标题】:Action-specific exception handler HTML in RailsRails 中特定于操作的异常处理程序 HTML
【发布时间】:2010-10-31 12:18:38
【问题描述】:

我在控制器中有一堆 XHR 操作,它们返回一些 HTML 以插入到页面中。如果响应是一个错误,那么它将输出放入一个特殊的错误 div。到目前为止,没有什么特别有趣的。

但是,这个通用过程不适用于 Rails 的异常处理。如果我在 XHR 操作中引发异常,我会在我的错误 div 中得到通用的 500 错误处理程序输出,这看起来有点可怕。虽然我可以在我的操作中捕获所有可能的异常并呈现更合适的错误,但我失去了标准的异常日志记录和通知,这很糟糕。

所以,我能想到的唯一解决方案是能够指定一个不同的 500 处理程序 HTML 片段以用于这些特定操作,但我没有找到太多。有人有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails exception-handling error-handling


    【解决方案1】:

    您应该能够在您的 javascript 处理程序中检查 500 状态代码并显示一条通用消息,例如“服务器问题”。如果在某些情况下,更具体的错误消息对生产环境中的最终用户有用,则必须使用 rescue_from 子句捕获这些异常。如果你真的想阻止 500 页面显示,你可以覆盖 XHR 控制器上的rescue_action_in_public 方法。

    【讨论】:

    • 这成功了。测试它是一个石头拖,但rescue_action_in_public正是我需要去寻找的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多