Ho un'app Rails 3.1 che utilizza lo codebrew/backbone-rails. In un modello di .jst.ejs, vorrei includere un'immagine, in questo modo:Rails con backbone-rail: risorse helpers (percorso_immagine) nei file EJS
<img src="<%= image_path("foo.png") %>"/>
Ma naturalmente gli aiutanti di attività non sono disponibili in JavaScript.
Il concatenamento ERB (.jst.ejs.erb) non funziona, poiché la sintassi EJS è in conflitto con ERB.
Ecco quello che so:
- Gli helper di attivi non sono disponibili nel browser, quindi ho bisogno di eseguirli sul lato server.
- Posso aggirare il problema facendo in modo che il server scarichi vari percorsi di asset nell'HTML (tramite attributi di dati o
<script>
e JSON) e li rilegga in JS, ma questo sembra piuttosto kludgy.
C'è un modo per utilizzare in qualche modo gli ausiliari di risorse nei file EJS?
È inoltre possibile ridefinire i ejs tag (se sono davvero una porta della funzione di template di Underscore come suggerito nei documenti ruby-ejs gem) con '_.templateSettings' [funzione template underscore.js] (http://documentcloud.github.com/underscore/#template), consentendo così di utilizzare '{{code}}' o qualche altro tagging di tua scelta – wulftone