2013-02-28 86 views
2

我正在尝试Jade(通过Scalate),并遇到一个错误,我找不到答案。 (或者至少没有看到。)我使用BlueGriffon(已经过了多年的HTML代码编写工作)嘲笑了一个表单,并将最终的HTML放入了Aarron Powel的HTML-JADE转换器中。这里是顶部或翻译这是我.jade模板文件:JADE/SCALATE模板错误 - InvalidSyntaxException

br
form(method='POST', action='/account/create', name='userAccountDetails')
  | Username:
  input(required='required', name='username', type='text')

etc., etc.,

试图运行阶应用,在那里,这是嵌套生成此错误:

org.fusesource.scalate.InvalidSyntaxException: )' expected but ,' found at 5.19 at org.fusesource.scalate.scaml.ScamlParser.parse(ScamlParser.scala:375) at org.fusesource.scalate.jade.JadeCodeGenerator.generate(JadeCodeGenerator.scala:38)

它似乎不喜欢comman-sperated属性,但我不知道为什么。同样,在stacktrace剪辑中,它似乎是在拉动Scaml解析器,即使该文件具有.jade扩展名。

有人能指出我正确的方向吗?谢谢。

回答

9

对于任何发现自己来说,这个问题(至少对我来说)似乎是由于Scala/Scalatra和JADE的JavaScript/NodeJS实现之间的语法差异。幸运的是,我对JADE例子的搜索引发了后者 - 无论是在实用程序方面,还是论坛Q & A--都表明了逗号的必要性。

解决方案:去掉逗号和工作的事情,因为他们应该:


H2新帐户设置
BR
形式(方法= '把' 行动= '/帐号/创建')
...

编辑:为了更精确,差异其实在于内Scalate的(由Scalatra集成的Scala模板引擎)。 (可能有一些其他的基于JADE的scala库遵循原始语法。)

+0

是的,我只是在这个同样的问题上失去了一些时间。 :/ – elias 2013-09-13 18:26:07

+0

这对我很有用,非常感谢。 – vantesllar 2015-09-02 09:22:15