Rubyで足場を生成し、背景画像をサイトのすべてのページに挿入したいのですが、画像へのリンクがどうあるべきかわかりません。
私の画像はapp/assets/images/"dep.jpg"
これは私が持っているものですが、動作していません:
background-image:url('../images/dep.jpg');
}
何か助け?ありがとう
RailsのWebサーバーは、アプリケーションのベースとしてpublic
フォルダーを使用します。したがって、/public/images/
&ではなくapp/assets/images/"dep.jpg"
の下にある特定の画像を探します。そこに画像がないので、/public/images/
フォルダーに画像を入れてみてください。
編集: Rails 3.1を使用している場合、これはRails 3.1がアセットにアセットパイプラインの概念を使用しているため異なるそのため、パスapp/assets/images/dep.jpg
は明らかに機能します。
Rails 3.1では、パスは実際には `/assets/dep.jpg 'になります。
background-image: url(/assets/dep.jpg);
Scaffold.cssファイルをSassファイルに変換する場合(名前をscaffold.css.scss
)ヘルパーを使用できます:
background-image: image-url("dep.jpg");
画像が_app/assets/images/dep.jpg
_にある場合、CSSファイルのRailsにbackground: url('/assets/dep.jpg');
と書く必要があります
この方法で画像をパブリックフォルダーに配置する必要はありません。
背景:url( '/ assets/image_name.jpg');
これはRails 4.0
絶対パスを使用できます:
background-image:url('/images/dep.jpg');
Rails(3.1以降と思われます)の最新バージョンを使用している場合、以下を使用できます。
background: url('../dep.jpg');
CSSはアセットフォルダーにも存在するため、..
は、自動的に資産フォルダーを参照します。