代码之家  ›  专栏  ›  技术社区  ›  womble

Rails中特定于操作的异常处理程序HTML

  •  1
  • womble  · 技术社区  · 17 年前

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

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

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

    1 回复  |  直到 17 年前
        1
  •  2
  •   austinfromboston    17 年前

    您应该能够检查Javascript处理程序中的500状态代码,并显示类似“服务器问题”的一般消息。如果在某些情况下,更具体的错误消息对生产环境中的最终用户有用,则必须使用 rescue_from 条款。如果确实要阻止显示500页,可以重写 rescue_action_in_public 方法。