这可能很简单,但我无法弄清楚为什么我没有错误页面。
首先,我正在使用Heroku进行托管,因此它肯定处于生产模式。
如果我将“config.action_controller.consider_all_requests_local”行设置为true,我会收到详细的错误消息,否则,我会得到一个完全100%的空白屏幕。如果我查看来源,也是空白。
我的所有404,422,500.html文件都是公开的,我没有碰过它们。
如果我在那里开始生产模式,他们似乎在我的本地机器上工作。那么它必须与Heroku有关吗?有什么想法吗?
日志告诉我没什么用处。
以下是production.rb文件的详细信息
config.cache_classes = true
#ActionMailer::Base.delivery_method = :sendmail
Paperclip.options[:command_path] = "/usr/bin/"
# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = false
# set delivery method to :smtp, :sendmail or :test
config.action_mailer.delivery_method = :smtp
# Full error reports are disabled and caching is turned on
config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.action_view.cache_template_loading = true
答案 0 :(得分:3)
我不认为Heroku使用像Passenger或Mongrel这样的.html文件。您可能需要通过两种基本机制来捕获和处理自己的异常:
如果您破坏了路由表,或触发了“500”错误,那是因为例外情况。这些都需要处理,否则你将得到一个空白屏幕,除非另外配置了Web服务器。
Apache可以配置为使用ErrorDocument指令执行此操作。