如果我把它放到我的 HAML 中,
:ruby
foo = "2".asdf
%p ss
正如预期的那样,我从 Sinatra 得到了这个错误:
NoMethodError at /
undefined method `asdf' for "2":String
但是当我的HAML 中有一个UNICODE CHARACTER时:
:ruby
foo = "2".asdf
%p ß
我不再收到错误,而是 Apache 崩溃(“500 内部服务器错误”)并Premature end of script headers:
输出到 Apache 错误日志中。
有人可以解释为什么 Sinatra 错误消息不喜欢 HAML 中其他地方的 unicode 字符吗?我应该提到,当没有出现错误时,unicode 字符工作正常。
顺便说一句,我当然set :show_exceptions, true
在我的 Sinatra 应用程序中完成了(在开发模式下),这就是错误首先出现的原因。