ruby-on-rails - Rails中特定于 Action 的异常处理程序HTML

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

我在 Controller 中有一堆XHR Action ,这些 Action 返回一些HTML以插入到页面中。如果响应是错误,则将输出放入特殊的错误div中。到目前为止,没有什么特别有趣的。

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

因此,我能想到的唯一解决方案是能够指定一个不同的500处理程序HTML片段以用于这些特定操作,但是我发现的不多。任何人有任何想法吗?

最佳答案

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

关于ruby-on-rails - Rails中特定于 Action 的异常处理程序HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/953551/

相关文章:

r - 如何绕过R中的for循环中的错误?

ruby-on-rails - "Undefined mixin ' box-sizing '", in rails, 使用compass-rails

java - 单元测试最终在 Java 6 中阻塞

c# - try-catch-finally 后继续

javascript - I.E(JavaScript、jQuery)中预期出现 ';' 异常

c++ - 你喜欢什么 : C++ exception handling or passing a buffer to hold error messages as parameter?

ruby-on-rails - 平均评级法的 Rspec 模型测试

ruby-on-rails - React.js 和 Rails 模型之间的通信

ruby-on-rails - Rails 5 路由 : Dynamic controller

java - 如何在 Java 的 ExecutorService 中检索和处理异常