Heroku 显示完整的 Rails 错误页面,即使 config.consider_all_requests_local = false

Heroku displaying full Rails error page even though config.consider_all_requests_local = false

即使我的生产配置读取

config.consider_all_requests_local = false

但我在生产中仍然收到 rails 错误消息。不知道为什么。

这是最近才开始发生的。有一段时间还好。

我正在使用 Puma,这是我最近换用的。这可能导致了问题,但我不知道为什么。这是我的 puma.rb 配置文件

workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['MAX_THREADS'] || 5)
threads threads_count, threads_count

preload_app!

rackup      DefaultRackup
port        ENV['PORT']     || 3000
environment ENV['RACK_ENV'] || 'production'

on_worker_boot do
  # Worker specific setup for Rails 4.1+
  # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
  ActiveRecord::Base.establish_connection
end

嗯,那是愚蠢的。我终于意识到我不小心将 development.rb 文件复制到了我的代码中的其他目录(实际上是两个不同的目录),因此在生产环境中读取了开发配置并将所有内容都搞砸了。感谢上帝,我终于注意到了这一点。在此期间,我急于求成并编写了一堆自定义错误捕获。

我认为这也减慢了每个请求。天哪,我很高兴我明白了这一点。