Rails 3.1 现在要求您使用 image_tag
使用 Assets 管道渲染图像时。
我在我的应用程序中构建了无限滚动,并将代码放入 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()
以前,我只是用纯 HTML 编写它,使用
<img src=...
但这将不再适用于 Assets 管道。我怎样才能做到这一点?
最佳答案
使用纯 HTML 应该可以正常工作。
尝试使用:<img src="/assets/loading.gif" />
如果您的 loading.gif
在里面 assets/images
.
2012 年 6 月 21 日更新
根据 Ruby on Rails Guide, Section 2.2.3 , 将 .js 文件的文件扩展名更改为 filename.js.erb
或 filename.js.coffee.erb
将允许您在 javascript 中使用嵌入式 ruby。
然后您可以使用 asset_path
helper 访问存储 Assets 的路径。
关于ruby-on-rails - 如何使用 Rails 3.1 在 Javascript 中渲染图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11125327/