Совместно использовать шаблоны рельсов спереди и сзади с поддержкой 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' });