1

ページの背景を変更することになっているjquery関数があります。背景を app/assets/images ディレクトリの画像にしたい。ただし、アセット パイプラインで画像を参照する適切な方法については混乱しています。

これが私が今持っている行です:

    $('body').css("background-image", "url('welcome.png')");

URL パラメータで画像にアクセスする最良の方法は何ですか?

4

4 に答える 4

6

これについては、次のドキュメントで説明されています。

http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

「2.3.3 JavaScript/CoffeeScript と ERB」で説明されているメソッドを使用する必要があります。これは、.erb 拡張子を JS ファイルに追加し、asset_path を使用することを意味します。

より洗練された別のアプローチは、画像を css.scss ファイルのクラス定義に移動し、そのクラスを jQuery に追加することです。

.welcome {
  background-image: url(image-path('welcome.png'));
}

そしてあなたのjQueryで:

$('body').addClass("welcome");
于 2014-03-05T21:46:55.390 に答える
5

これを試して:

$('body').css("background-image", "url('/assets/welcome.png')");

パイプラインでアセットにアクセスするには、assetsフォルダーを指定する必要があります。

私はこれを読んだ場所を見つけようとしていましたが、Rails は基本的にすべてのアセット ヘルパー URL を似たようなものに変換する/assets/asset.pngので、ソース URL でフォルダーを/assets/stylesheet.css指定するだけで同じことができるはずです。assets

于 2013-01-04T22:06:06.853 に答える
0

$('body').css("background-image", "url('/app/assets/images/welcome.png')");

アプリがドキュメントルートにあると仮定します。

于 2013-01-04T20:49:08.217 に答える