Heroku上没有处理ActionController :: RoutingError

时间:2016-06-01 18:00:45

标签: ruby-on-rails ruby heroku

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

Heroku配置:

RACK_ENV:                     production
RAILS_ENV:                    test

test.rb

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

production.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:机架应用程序错误:#`我尝试调整测试和生产环境rb但不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

您可以通过

访问这些内容
heroku logs

在控制台中查看日志或安装一个heroku日志记录加载项以获得更多可用的东西。