Совместно использовать шаблоны рельсов спереди и сзади с поддержкой JST

Я хотел бы поделиться шаблонами js между front и back в приложении rails для случаев, когда код будет продублирован.

Требования следующие:

  • Подчеркивание (e js) или шаблоны руля / усов. Предпочтительно e js, потому что я уже использую подчеркивание на стороне клиента.
  • Я также хотел бы использовать конвейер ресурсов rails, чтобы перенести их в объект / функции JST, чтобы я мог хранить отдельные файлы шаблонов и получать другие преимущества, такие как кэширование и т. Д.

Я нашел несколько драгоценных камней, которые работают для одного или другого случая, таких как handlebars_haml_assets, ejs, FlavourSaver и т. Д., Но ни одного, которые учитывают все эти требования из коробки. Как лучше всего делиться шаблонами js спереди и сзади, а также использовать JST в приложении rails 3?

1 ответ

Решение

Готовый конвейер ресурсов Rails 3.2 поддерживает шаблоны Embedded Javascript (EJS) или Embedded CoffeeScript (Eco) и доступен с использованием JST (Шаблоны JavaScript) пространство имен. Просто назовите ваши файлы соответствующим образом:

app/assets/templates/top_level.jst.ejs
app/assets/templates/subdir/nested.jst.eco

Чтобы использовать их в вашем JavaScript:

var html = JST['top_level']({ data: 'something' });
var html = JST['subdir/nested']({ data: 'something' });
Другие вопросы по тегам