有一个奇怪的问题。似乎很简单..
问题是当我在我的 Rails 应用程序中的 HAML 或 ERB 模板中出现语法错误时,它会呈现 500 错误页面,并且没有包含错误详细信息的调试输出。但是,如果我模拟其他类型的错误,例如
form_for -> for m_for (add whitespace in helper)
我收到我期望的错误页面。 http://cl.ly/image/1b1K3c1a0G3w
版本:
- Rails v3.2.12(尝试升级到3.2.14)
- 红宝石 1.9.3-p448
- HAML 3.1.7(尝试 4.x.x) - 但不仅在 HAML 中没有调试输出,erb 模板也做同样的事情
所有文件的编码均为 US-ASCII
使用magic_encoding宝石 - 没有运气
问题出在 splunk(http://www.splunk.com/) - 错误收集器中。它在开发模式下捕获视图中的异常,而无需任何通知。通过在生产组中搬入解决了问题。
此外,gem better_errors
还有助于以任何方式捕获错误,无论是否有splunk。