【发布时间】:2012-10-25 22:17:18
【问题描述】:
根据这篇文章:
http://blog.plataformatec.com.br/2012/01/my-five-favorite-hidden-features-in-rails-3-2/
最新的错误处理方式如下:
# application.rb:
config.exceptions_app = self.routes
#routes.rb
match "/404", to: "site#not_found"
但是,他没有解决 Rails 错误应用程序还处理 500 个错误、422 个错误(以及可能会流入这两个页面的其他错误?)这一事实?
所以我拼凑了一个看起来像这样的解决方案:
# routes.rb
rack_error_handler = ActionDispatch::PublicExceptions.new('public/')
match "/422" => rack_error_handler
match "/500" => rack_error_handler
这很好,因为它使我的 500 页保持轻量级。
还有其他我应该捕捉的错误吗? 我的理解是,虽然 500 页面现在将使用两个机架应用程序,但它仍然足够安全地与主 Rails 应用程序隔离。这么强吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails routing