ruby-on-rails - 如何使用 Rails 3.1 在 Javascript 中渲染图像

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

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.erbfilename.js.coffee.erb将允许您在 javascript 中使用嵌入式 ruby​​。

然后您可以使用 asset_path helper 访问存储 Assets 的路径。

关于ruby-on-rails - 如何使用 Rails 3.1 在 Javascript 中渲染图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11125327/

相关文章:

ruby-on-rails - 调试 unicorn postgres 连接泄漏

ruby-on-rails-3 - 如何使用phonegap和devise完成登录(Rails)

ruby-on-rails - 处理来自远程真 Rails 的响应时出错

ruby-on-rails - 类似于 Twitter Bootstrap 的 CSS 工具包?

ruby-on-rails - Facebook Messenger 机器人 : postback. 回复 webhook 与数据库查询不匹配

ruby-on-rails - rails 3 : Why the field with error is not wrapped with "field_with_errors" div when validation fails?

mysql - 如何告诉 heroku 为新创建的应用程序使用 rails 3 和 ruby​​ 1.9.2?

ruby-on-rails - Rails 3.1 & Sprockets & 编译的 JS 文件

ruby-on-rails-3.1 - Rails 3.1.4 - 渲染 :text

javascript - 无法访问 json 对象属性并且值在 Rails View 中显示为未定义