我写过这个HAML:
%script{:src => "http://www.google.com/jsapi?key=mykey" :type => "text/javascript"}
注意:src和:type之间缺少逗号。
在我的生产服务器(Dreamhost / Linux)上,当我尝试查看该页面时收到以下记录的异常:
ActionView::TemplateError (compile error
/home/.kuce/sugarthrill_stage/site/releases/20090927200712/app/views/layouts/standard.haml:6: syntax error, unexpected ':', expecting ')'
haml_temp = _hamlout.push_script(haml_temp, false, false, false, false, false);_hamlout.open_tag("script", false, true, false, false, {}, false, false, nil, nil, :src => "http://www.google.com/jsapi?key=ABQIAAAAynKnt9hv30uxjfbUx9X4DBRU8FW8TmMUFf4GF0BysDPVLHB6-RQwlOJobSWKbilPiM4dB6xk_4JbgQ" :type => "text/javascript");
但是,我在开发服务器(Local OS X,WeBRICK)上没有看到此错误;我看到了(正确呈现的)页面。
这有点令人不安。是否有任何理由在开发时抑制此编译错误?
答案 0 :(得分:1)
我已经解决了这个问题,我会在GitHub重新上线后立即提交。它将作为Haml 2.2.6的一部分发布,它将在今天或明天的某个时间发出。
感谢错误报告!
修改:现在已修复commit f1a6cc9。
编辑2 :现已作为Haml 2.2.6的一部分发布。
答案 1 :(得分:0)
那令人困惑。我可能无法帮助你,但我建议如果你想看到与开发到生产系统的方式更接近的相似之处,你应该使用一个被认为是生产就绪的服务器,如果可以,你可以使用与生产相同的服务器框。