【问题标题】:Haml and Sinatra, where do error messages go?Haml 和 Sinatra,错误消息在哪里?
【发布时间】:2012-09-16 03:38:49
【问题描述】:

我正在尝试使用 haml 作为 erb 的替代方案,用于 sinatra 应用程序。但是,如果 haml teplate 不正确,例如缩进有问题,我得到的只是内部服务器错误消息。

haml 是否在其他地方输出更具体的错误消息,或者有什么方法可以获取有关错误的更多信息?

【问题讨论】:

  • 你检查过log/development.log吗?
  • @JoshuaCheek 我在哪里可以找到它? app 文件夹或 /var/log 中都没有这样的日志。
  • 哦,对不起,那是 Rails。然后检查您正在登录的位置(或在需要时设置日志记录 - 谷歌搜索“sinatra logging”看起来很有希望)。
  • @JoshuaCheek 谢谢。这有很大帮助。我从 sinatra 主页得到使用 set :show_exceptions, true 导致显示haml的错误消息。正是我需要的。

标签: ruby sinatra haml


【解决方案1】:

在 Sinatra 中,环境变量的值决定了是否默认输出错误信息。通过设置默认启用错误消息:

set :environment, :development

无论环境如何直接输出错误消息:

set :show_exceptions, true

更多关于 Sinatra 配置的信息在这里:http://www.sinatrarb.com/configuration.html

【讨论】:

    【解决方案2】:

    如果您将 Sinatra 更新到 1.3.3,您将在运行 Sinatra 时再次在终端中获得正确的错误日志。默认情况下,最近两个或三个版本的日志被暂时禁用,但又恢复为默认值。

    【讨论】:

    • 很高兴知道这一点。但是对于这个项目,我一直在通过 Passenger 运行 Sinatra,但找不到 Sinatra 的日志,因此直接在浏览器中输出错误似乎最简单(对于开发)。
    • 你应该提到你不是在开发模式下工作。这就是我的假设。当然,在生产模式下,您必须手动启用它,因为 ypu 自己想出来:)
    • 同意,但老实说,我对开发模式一无所知。我是新手,刚刚使用默认值。除了 O'reily 关于 Sinatra 的书外,文档对新手很不友好。
    • 自述文件是一个宝库。
    猜你喜欢
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    相关资源
    最近更新 更多