2012-01-26 39 views
28

Rubyで足場を生成しましたが、サイトのすべてのページに背景画像を挿入したいのですが、画像へのリンクはどうなっているのでしょうか。CSSのRuby on Rails 2に背景画像を追加する

私のイメージでは、これは私が持っているものであるapp/assets/images/"dep.jpg"

であるが、それありえない作業:

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

任意のヘルプ?ありがとう

+0

正確なパスを入力してください。フォルダ '/ public'にも' images'フォルダがあります。私はあなたのパスの代わりにそこを見ていると思います。 – uday

+0

あなたのファイルがどこにあるかは、あなたの画像ディレクトリに依存します。 '../'は現在のファイルの場所から1つ上のディレクトリに移動し、imagesディレクトリを探します。あなたのディレクトリ構造はどのように見えますか? –

+0

my railsプロジェクトフォルダの名前はClassSchedule/apps/assets/images/dep.jpg – Dan

答えて

19

レールのWebサーバーは、アプリケーションのベースとしてpublicフォルダを受け取ります。したがって、app/assets/images/"dep.jpg" &の代わりに/public/images/の下に特定のイメージを探しているので、その上にそこにあなたはイメージを得ることができません。 /public/images/フォルダに画像を入れてみるとうまくいくはずです。

編集:あなたがレール3.1を使用している場合のRails 3.1はそう、あなたのアプリケーションの資産の資産パイプラインの概念を使用し、パスapp/assets/images/dep.jpgは明らかにうまくいくよう、これは違うだろう。

+0

imのようなものは新しいので、パブリックフォルダの場所はわかりません。私は単にレールサーバを使ってlocalhost上でこれを実行しています – Dan

+0

'public'フォルダは' rails'アプリケーションのルートフォルダにあります。階層構造は '/public/images'のようになります – uday

+0

私のパブリックフォルダにはイメージフォルダがありません。作成する必要がありますか、それとも単にパブリックフォルダに入れるべきですか? – Dan

1

あなたは確かに絶対パスを使用することができます:あなたがあなたの足場を変換する場合

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

:Railsの3.1に

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

Railsが 'public'をベースフォルダーとして以来、ファイルが奇妙な微妙な調整によってウェブサーバーにreacheadされていない限り、彼がabsoulteパスを適用しても、あなたは思っていませんか? – uday

77

は、パスが実際に `/assets/dep.jpg"になります。あなたのイメージがである場合

background-image: image-url("dep.jpg"); 
11

:SassのファイルへのCSSファイルは、あなたがヘルパーを使用することができます(scaffold.css.scssに名前を変更します)と書いてあります。

この方法でパブリックフォルダにイメージを置く必要はありません。

2

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

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

をCSSはまたあなたに住んでいるので:

これは、レールの現代版(3.1以降、私は信じている)を使用している場合は、あなたが使用することができますRailsの4.0

+0

Ruby 4.0 ???真剣に..あなたがRails 4を意味するならば、それをRailsに変更してください。 – Abhinay

+1

サウンド、私の最初の日 – laffan

+0

クール!!それはレールの方法:) – Abhinay

0

に私のために働きましたassetsフォルダ..は自動的にassetsフォルダを参照します。