Ошибка шаблона JADE/SCALATE — InvalidSyntaxException

Я пробую Jade (через Scalate) и сталкиваюсь с ошибкой, на которую не нахожу ответа. (Или, по крайней мере, не видел.) Я смоделировал форму с помощью BlueGriffon (прошли годы с тех пор, как я кодировал HTML...) и поместил получившийся HTML в конвертер HTML-JADE Ааррона Пауэла. Вот верхняя часть или тот перевод, который находится в моем файле шаблона .jade:


form(method='POST', action='/account/create', name='userAccountDetails')
| Имя пользователя:
input(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)

Кажется, ему не нравятся атрибуты, управляемые командами, но я не уверен, почему. Кроме того, в клипе stacktrace кажется, что он использует синтаксический анализатор Scaml, хотя файл имеет расширение .jade.

Может ли кто-нибудь указать мне в правильном направлении? Спасибо.


person mjk    schedule 28.02.2013    source источник


Ответы (1)


Для тех, кто окажется здесь, проблема (по крайней мере, для меня) связана с синтаксическими различиями между реализацией JADE на Scala/Scalatra и JavaScript/NodeJS. Как назло, мои поиски примеров JADE привели к последнему — как с точки зрения утилит, так и с точки зрения вопросов и ответов на форуме — что все указывает на необходимость запятых.

Решение: уберите запятые и все заработает как надо:

!!!
h2 Настройка новой учетной записи
br
form(method='PUT' action='/account/create')
...

РЕДАКТИРОВАТЬ: Чтобы быть более точным, несоответствие на самом деле заключается в Scalate (механизме шаблонов Scala), который интегрирован Scalatra. (Могут быть некоторые другие библиотеки scala на основе JADE, которые следуют исходному синтаксису.)

person mjk    schedule 04.03.2013
comment
да, я просто потерял некоторое время с этой же проблемой. :/ - person Elias Dorneles; 13.09.2013