Мы находимся на Rails (3.0.3 / 1.9), используя Jammit для статического сжатия и все остальные возможности, которые он предоставляет.Я пытаюсь использовать шаблоны Javscript, чтобы заменить некрасивый интерфейсный код, но похоже, что компилятор JST по умолчанию не может обрабатывать разрывы строк Windows:
assets.yml file:
embed_assets: on
javascripts:
plugins:
- app/views/**/*.jst
Когда у меня все _topicPreview.jst в одной строке, он прекрасно компилируется:
<div class='TopicPreview <%= typeName %>'><div class='Title'> <%= summary %> </div><div class='Meta'> <span class='LastUpdate'> <%= updatedAt %> </span> <span class='PostCount'> | <%= postsCount %> Posts | </span> <span class='LikeCount'> <%= likesCount %> Likes </span> </div></div>
Страница загружается, и у меня есть метод JST._topicPreview ([JSON-версия темы]).Красивая.
Половина привлекательности JST - это удобочитаемость / удобство обслуживания, поэтому я хотел бы, чтобы у моего JST было правильное форматирование.Как только я добавляю разрывы строк в JST-файл, страница добавляет Uncaught SyntaxError: Unexpected Token ILLEGAL
в window.JST['_topicPreview'] = template('...[the escaped JST file]...')
В трассировке кода я вижу, что она анализирует и экранирует одинарные кавычки, поэтому я удивилась, что не смоглаобрабатывать разрывы строк.
Кто-нибудь еще сталкивался с этой проблемой?Есть ли более чистое исправление, чем взламывание некоторых дополнительных замен строк в коде генерации шаблона?
Мета: я довольно новичок в шаблонах javascript, но должен ли они иметь свой собственный тег StackOverflow?
Редактировать
Похоже, это известная проблема с ожидающим исправлением, которое будет объединено с гемом.
Разрывы строк Windows в Jammit JST-компиляторе