【问题标题】:With Asset Pipeline how to serve Images in Javascript?使用 Asset Pipeline 如何在 Javascript 中提供图像?
【发布时间】:2012-09-08 16:10:56
【问题描述】:

我的资产/javascript中有以下js

jQuery ->
  if $('.pagination').length
    $(window).scroll ->
      url = $('.pagination .next_page').attr('href')
      if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
        $('.pagination').html('<img src="images/spinner.gif" />')
        $.getScript(url)
    $(window).scroll()

我在这里调用的是微调器动画,但没有在 localhost 上获取。

No route matches [GET] "/images/spinner.gif"

我已经跑了

rake assets:precompile:all RAILS_ENV=development

并且我的图片被正确放置在资产/图片中(以及公开的)所以这让我认为我调用这张图片的方式一定是错误的。

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3 asset-pipeline


    【解决方案1】:

    首先阅读rails asset pipeline 并阅读developementproduction 提供资产的方式之间的区别,这将帮助您了解如何提供资产

    如果您向 JavaScript 资产添加 erb 扩展,使其类似于 application.js.erb,那么您可以在 JavaScript 代码中使用 assets_path 帮助器:

       jQuery ->
      if $('.pagination').length
        $(window).scroll ->
          url = $('.pagination .next_page').attr('href')
          if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
            $('.pagination').html('<%= asset_path('logo.png') %>')
            $.getScript(url)
        $(window).scroll()
    

    【讨论】:

      猜你喜欢
      • 2012-06-12
      • 2014-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      相关资源
      最近更新 更多