У меня есть приложение Rails 3.1, которое использует codebrew/backbone-rails. В .jst.ejs шаблона, я хотел бы включить изображение, например, так:Рельсы с опорными рельсами: помощники активов (image_path) в файлах EJS
<img src="<%= image_path("foo.png") %>"/>
Но конечно помощники активов не доступны в JavaScript.
Цепочный ERB (.jst.ejs.erb) не работает, поскольку синтаксис EJS конфликтует с ERB.
Вот что я знаю:
- Помощники активы не доступны в браузере, так что мне нужно, чтобы запустить их на стороне сервера.
- Я могу обойти проблему, заставив сервер выгружать различные пути активов в HTML (через атрибуты данных или
<script>
и JSON) и считывая их обратно в JS, но это кажется довольно глупым.
Есть ли способ каким-либо образом использовать помощники активов в файлах EJS?
Вы можете также переопределить EJS (если они действительно являются портом функции шаблонов Underscore, как предложено в документах ruby-ejs gem) с '_.templateSettings' [функция шаблона underscore.js] (http://documentcloud.github.com/underscore/#template), что позволяет вам использовать '{{code}}' или некоторые другие теги по вашему выбору – wulftone