【问题标题】:ActionController::RoutingError is not handled on herokuActionController::RoutingError 未在 heroku 上处理
【发布时间】:2016-06-01 18:00:44
【问题描述】:

我有一个带有以下配置的 Rails 应用程序:

Heroku 配置:

RACK_ENV:                     production
RAILS_ENV:                    test

test.rb

  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

生产.rb

  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

application_controller.rb

  rescue_from Pundit::NotAuthorizedError do |exception|
    raise ActionController::RoutingError.new('Not Found')     
  end

在开发环境中,当我尝试访问像/admin这样的未经授权的页面时,会出现详细的“路由错误”红色页面,但是当我推送到heroku并再次尝试访问同一页面时。服务器将返回 500,网站将显示 An unhandled lowlevel error occurred. The application logs may have details:Rack app error: #` 我尝试调整测试和生产环境 rb 但不起作用。有什么想法吗?

【问题讨论】:

  • 当然heroku上不会出现红页。您应该修复开发中的错误,并将错误推送到 heroku。

标签: ruby-on-rails ruby heroku


【解决方案1】:

使用默认设置设置的 Heroku 生产服务器不会在错误消息发生时向您显示屏幕上的错误消息(我猜您不希望您的用户看到问题的详细信息)。

您可能想要安装 heroku rails12factor gem。这将确保将更多信息传递到您的日志中。

您可以通过

访问这些
heroku logs

在控制台中查看日志或安装 Heroku 日志记录插件之一以获得更有用的东西。

【讨论】:

    猜你喜欢
    • 2016-01-19
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多