我需要从我的前端使用的JST模板访问我的图片的asset_path,以使用下划线模板进行渲染。
例如:
filter_item.jst.ejs
<div class="filter-item">
<a href="#" class="thumbnail filter-select" data-preset="<%= preset %>">
<img src="<%= asset_path('balloons.jpg') %>"><br/>
</a>
</div>
如何解决资产路径&#39;从我的模板使用Rails资产管道?同时我希望能够传递变量&#39;预设&#39;来自运行时的Underscore模板。
示例:
var rendered = JST [&#34; myapp / templates / filter_item&#34;]({preset:&#34; mypreset&#34;});
我希望&#39;呈现&#39;像这样包含HTML:
<div class="filter-item">
<a href="#" class="thumbnail filter-select" data-preset="mypreset">
<img src="/assets/balloons-ASSETHASH.jpg"><br/>
</a>
</div>
答案 0 :(得分:1)
几个月大了,但我最近自己也在苦苦挣扎。 Found the answer on the github page for sprockets
将扩展名.str
添加到您的文件中,您可以在字符串插值标记内使用ruby / rails方法:#{ ... }
所以上面的代码修改为使用字符串插值将起作用:
// filter_item.jst.ejs.str
<div class="filter-item">
<a href="#" class="thumbnail filter-select" data-preset="mypreset">
<img src="#{ asset_path('balloons.jpg') }"><br/>
</a>
</div>
至于data-preset
变量,我对资产管道如何运作以表明上述方法是否适用于此不够熟悉。