2013-02-28 82 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