Rails 3.1现在要求您在使用资产管道渲染图像时使用image_tag
。
我已经在我的应用程序中构建了无限滚动,并将代码放入js.coffee文件中。我希望在装载更多产品的同时渲染旋转装载gif。我不能在这里使用image_tag
,因为这个文件不支持rails代码,但是我已经在这里写了它,所以你明白我想要做什么。
jQuery ->
if $('.pagination').length
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 1200
$('.pagination').html("<%= image_tag("loading.gif") %> Loading more...")
$.getScript(url)
$(window).scroll()
以前,我会使用<img src=...
以纯HTML编写它但是这将不再适用于资产管道。我怎样才能做到这一点?
答案 0 :(得分:5)
使用纯HTML应该可以正常工作。
如果<img src="/assets/loading.gif" />
位于loading.gif
内,请尝试使用assets/images
。
更新日期:21/06/2012
根据Ruby on Rails Guide, Section 2.2.3,将.js文件的文件扩展名更改为filename.js.erb
或filename.js.coffee.erb
将允许您在javascript中使用嵌入式ruby。
然后,您可以使用asset_path
帮助程序访问存储资产的路径。