ページの背景を変更することになっているjquery関数があります。背景を app/assets/images ディレクトリの画像にしたい。ただし、アセット パイプラインで画像を参照する適切な方法については混乱しています。
これが私が今持っている行です:
$('body').css("background-image", "url('welcome.png')");
URL パラメータで画像にアクセスする最良の方法は何ですか?
ページの背景を変更することになっているjquery関数があります。背景を app/assets/images ディレクトリの画像にしたい。ただし、アセット パイプラインで画像を参照する適切な方法については混乱しています。
これが私が今持っている行です:
$('body').css("background-image", "url('welcome.png')");
URL パラメータで画像にアクセスする最良の方法は何ですか?
これについては、次のドキュメントで説明されています。
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");
これを試して:
$('body').css("background-image", "url('/assets/welcome.png')");
パイプラインでアセットにアクセスするには、assets
フォルダーを指定する必要があります。
私はこれを読んだ場所を見つけようとしていましたが、Rails は基本的にすべてのアセット ヘルパー URL を似たようなものに変換する/assets/asset.png
ので、ソース URL でフォルダーを/assets/stylesheet.css
指定するだけで同じことができるはずです。assets
$('body').css("background-image", "url('/app/assets/images/welcome.png')");
?
アプリがドキュメントルートにあると仮定します。