JADE / SCALATE模板错误 - InvalidSyntaxException

时间:2013-02-28 21:58:10

标签: scala pug scalatra scalate

我正在尝试Jade(通过Scalate)并遇到一个错误,我找不到答案。 (或者,至少没有看到。)我使用BlueGriffon模拟了一个表单(自编码HTML以来已经多年了......)并将生成的HTML放入Aarron Powel的HTML-JADE转换器中。这是我的.jade模板文件中的顶部或翻译:

  

BR   
form(method ='POST',action ='/ account / create',name ='userAccountDetails')   
|用户名:   
输入(required ='required',name ='username',type ='text')   
  
等等,

尝试运行嵌套的scala应用程序会生成此错误:

  

org.fusesource.scalate.InvalidSyntaxException:)' expected but,'发现于5.19           在org.fusesource.scalate.scaml.ScamlParser.parse(ScamlParser.scala:375)           在org.fusesource.scalate.jade.JadeCodeGenerator.generate(JadeCodeGenerator.scala:38)

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

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

1 个答案:

答案 0 :(得分:9)

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

解决方案:删除逗号和内容按预期工作:

!!!
h2新帐户设置
BR
form(method ='PUT'action ='/ account / create')
...

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

相关问题