web-dev-qa-db-ja.com

Ruby on Rails 2 in CSS

Rubyで足場を生成し、背景画像をサイトのすべてのページに挿入したいのですが、画像へのリンクがどうあるべきかわかりません。

私の画像はapp/assets/images/"dep.jpg"

これは私が持っているものですが、動作していません:

background-image:url('../images/dep.jpg');
}

何か助け?ありがとう

28
Dan

RailsのWebサーバーは、アプリケーションのベースとしてpublicフォルダーを使用します。したがって、/public/images/&ではなくapp/assets/images/"dep.jpg"の下にある特定の画像を探します。そこに画像がないので、/public/images/フォルダーに画像を入れてみてください。

編集: Rails 3.1を使用している場合、これはRails 3.1がアセットにアセットパイプラインの概念を使用しているため異なるそのため、パスapp/assets/images/dep.jpgは明らかに機能します。

19
uday

Rails 3.1では、パスは実際には `/assets/dep.jpg 'になります。

background-image: url(/assets/dep.jpg);

Scaffold.cssファイルをSassファイルに変換する場合(名前をscaffold.css.scss)ヘルパーを使用できます:

background-image: image-url("dep.jpg");
77
Dylan Markow

画像が_app/assets/images/dep.jpg_にある場合、CSSファイルのRailsにbackground: url('/assets/dep.jpg');と書く必要があります

この方法で画像をパブリックフォルダーに配置する必要はありません。

11
user1187135

背景:url( '/ assets/image_name.jpg');

これはRails 4.0

2
laffan

絶対パスを使用できます:

background-image:url('/images/dep.jpg');
1

Rails(3.1以降と思われます)の最新バージョンを使用している場合、以下を使用できます。

background: url('../dep.jpg');

CSSはアセットフォルダーにも存在するため、..は、自動的に資産フォルダーを参照します。

0
Wylliam Judd