代码之家  ›  专栏  ›  技术社区  ›  holden

轨道404 422 500完全空白

  •  3
  • holden  · 技术社区  · 14 年前

    这可能很简单,但我不明白为什么没有错误页面。

    首先,我使用Heroku作为主机,所以它肯定处于生产模式。

    如果我将行“config.action\u controller.consummed\u all\u requests\u local”设置为true,我会收到一条详细的错误消息,否则,我会得到一个完全100%的空白屏幕。如果我查看源代码,也为空。

    我所有的404422500。html文件是公开的,我没有碰它们。

    如果我在那里开始生产模式,它们似乎在我的本地机器上工作。那一定是和Heroku有关吧?有什么想法吗?

    日志告诉我没有什么有用的东西。

    以下是制作的细节。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
    
    1 回复  |  直到 14 年前
        1
  •  3
  •   tadman    14 年前

    我不认为Heroku会用这个词。像Passenger或Mongrel这样的html文件。您可能需要通过两种基本机制捕获和处理自己的异常:

    • 在ApplicationController中使用rescue_创建异常处理程序,以处理任何可能发生爆炸的事件,包括特定对象、对象以及对象。
    • 创建一个默认路由以捕获任何没有以其他方式路由的内容。

    如果您退出了路由表,或者触发了“500”错误,那是因为异常。这些都需要处理,否则会出现一个空白屏幕,除非web服务器配置为其他方式。

    Apache可以配置为使用ErrorDocument指令执行此操作。