我编写了一个简单的自定义指令,并将其作为常规元素属性传递给所有属性。标签的语法如下:
<@link_to controller="unobtrusive" action="do-get" data-target="result">Do Get
不幸的是,我得到一个例外:
Caused by: freemarker.core.ParseException: Encountered "-" at line 32, column 56 in unobtrusive/index.ftl.
Was expecting:
"=" ...
This is because it cannot seem to parse data-target
属性。当我用下划线将其更改为“data_target”时,一切都很好....但我真的需要破折号:“ - ”。
有人可以帮忙吗?
谢谢, 伊戈尔
答案 0 :(得分:0)
从FAQ
尝试此提示&LT; @link_to controller="unobtrusive" action="do-get" "data-target"="result">
我没有亲自试过,所以不能保证它能不能起作用。
答案 1 :(得分:0)
我只是遇到了同样的问题。 &lt; @ form.textarea ... data-maxCount =&#34; 100&#34; /取代。似乎freemarker误解了名称中的特殊字符...... Freemarker FAQ
答案 2 :(得分:0)
从2.3.22开始,您可以使用-
(以及.
和:
)作为任何名称的一部分,如果您在其前面加\
,就像<@link_to data\-target=...>
。 (它不太可爱,但是-
已经被用作减法运算符,并且修复它不会向后兼容,因此必须等待主要的FTL版本增加。)