【问题标题】:Rails friendly error page in development开发中的 Rails 友好错误页面
【发布时间】:2010-12-31 11:16:57
【问题描述】:

在我的 config/environments/development.rb 我有以下行:

config.action_controller.consider_all_requests_local = true

这意味着我应该在开发环境中得到所有丑陋的错误信息。但由于某种原因,我的应用突然开始向我显示您应该在生产环境中看到的漂亮错误页面。

是否有可能在某些地方这可能已被覆盖?其他人也在从事这个项目,所以也许他们中的一个人做了什么导致它。

【问题讨论】:

    标签: ruby-on-rails configuration error-handling


    【解决方案1】:

    有人可能会在某处覆盖local_request? (api) 方法,这是一种始终显示正确错误页面的方法。

    我只是answered 其他人关于如何覆盖它的问题。您基本上只需将一个方法放入其中一个控制器(如 ApplicationController)中,如下所示:

    def local_request?
      false
    end
    

    所以,可能有人在某处使用过它。在 textmate 中或使用 grep 进行完整的项目搜索。

    【讨论】:

    • 我没有发现任何 local_request 的出现?...还有什么?
    • 这是我知道的唯一方法。也许您可以设置一个类似的方法,但如果 R​​AILS_ENV == "development" 在 ApplicationController 或您正在使用的控制器中,则始终返回 true。另一个事情是使用 ./script/server -u 并将“调试器”放在靠近产生错误的地方,然后使用“下一步”来单步执行代码并查看生成错误页面的位置。
    【解决方案2】:

    旧帖子,但以防万一有人像我一样发现这个......

    我很确定当

    config.action_controller.consider_all_requests_local = true

    已设置,local_request?永远不会被调用。

    我会在运行时转储配置值并查看它是什么。

    How do I access a Rails configuration value during runtime?

    (在轨道 3.2 中)

    config.consider_all_requests_local = true

    【讨论】:

      【解决方案3】:

      这只是发生在我身上,结果只是因为我尝试加载的页面中有特殊字符。我用特殊字符在文件顶部添加了# encoding: utf-8,一切正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-29
        • 2011-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-28
        相关资源
        最近更新 更多