我觉得自己很疯狂,但我有一部分工作正常,然后突然间,当我刷新视图时,我开始收到以下错误:
syntax error, unexpected keyword_ensure, expecting keyword_end
我将其缩小为一段HTML代码。当我将部分内容减少到这一行代码时没有ERB表达式或文件中的任何其他内容时,我收到错误:
<div id="product-variants"/>
但是,如果我改变我的部分以包含类似的东西,就像其中任何一个,我不会得到语法错误,它继续呈现我的观点:
<div id="aproduct-variants"/>
product-variants
<div id="product-variant"/>
我尝试重启我的服务器,但我仍然看到相同的行为。我检查了奇怪的特殊字符,但我没有。我的文件名似乎没问题:_cart_form.html.erb
为什么世界上解析器会被HTML属性的值搞糊涂?在我的开发环境中这是一种奇怪的缓存问题吗?我需要在文件系统上清理一些东西吗?
答案 0 :(得分:0)
没关系,我只是想通了。我们使用Deface(https://github.com/spree/deface)来覆盖一些视图,而“product-variants”碰巧是我们用来插入一些视图代码的匹配元素的名称。 deface覆盖有一个语法错误,但不幸的是,堆栈没有向我显示。