首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有方法在rails应用程序中配置默认的5xx错误消息?

是否有方法在rails应用程序中配置默认的5xx错误消息?
EN

Stack Overflow用户
提问于 2022-09-12 03:44:56
回答 1查看 42关注 0票数 0

我是Ruby/Rails的新手,并在我团队的web应用程序上工作。我想知道是否有一种方法来配置应用程序,以便任何5xx http状态错误都会给客户端提供相同的通用错误消息(为了维护安全)。

理想情况下,配置也将覆盖任何新的5xx错误,这些错误可能由不知道安全协议的未来工程师提供消息。

EN

回答 1

Stack Overflow用户

发布于 2022-09-12 05:56:32

Rails提供了rescue_from来捕捉应用程序中的错误,并以适当的错误消息对它们进行响应。

当您想要捕获所有类型的内部服务器错误时,从StandardError中拯救可能是最好的选择。在处理异常的方法中,您可以呈现一个HTML响应、一个JSON响应,或者根据您的需要使用错误消息重定向用户,类似于普通的控制器方法。

代码语言:javascript
复制
# in app/controllers/application_controller.rb
  rescue_from StandardError, :handle_exceptions

private

def handle_exceptions
  render # ...
end

当您真正想要捕获所有类型的异常时,您可能希望从Exception而不是StandardError中拯救出来。但是要注意,这也会捕获像SyntaxErrorLoadErrorInterrupt这样的子类。

在所有情况下,我建议手动登录控制器中以这种方式处理的异常,以使调试更容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73684288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档