5

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()

以前は、純粋な HTML で を使用して記述していましたが、<img src=...これはアセット パイプラインでは機能しなくなります。どうすればこれを達成できますか?

4

1 に答える 1

5

プレーンな HTML を使用すると問題なく動作するはずです。

使用してみてください:<img src="/assets/loading.gif" />あなたloading.gifが の中にいる場合assets/images

2012 年 6 月 21 日更新

Ruby on Rails ガイドのセクション 2.2.3に従って、filename.js.erb.jsファイルのファイル拡張子を に変更するfilename.js.coffee.erbと、javascript 内に埋め込まれた ruby​​ を使用できるようになります。

その後、asset_pathヘルパーを使用して、アセットが保存されているパスにアクセスできます。

于 2012-06-20T18:03:25.123 に答える