Компилирование шаблонов JavaScript с помощью Jammit Gem для Rails? - PullRequest
0 голосов
/ 09 марта 2011

Мы находимся на 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-компиляторе

1 Ответ

1 голос
/ 08 июля 2011
...