2

RefineryCMS gem の scss では、次のような背景の画像をターゲットにしています。

body {
  min-height: 100%;
  margin: 0;
  padding: 0;
  font-size: 10px;
  font-family: Verdana;
  line-height: 1.5em;
  background: #303030 image_url('refinery/page_bg.png') repeat;
}

をコンパイルすると、次のようになります。

background: #303030 image_url('refinery/page_bg.png') repeat;

ただし、page_bg.png は assets フォルダーにあります。assets/refinery/page_bg.png

試しwww.mydomain.com/assets/refinery/page_bg.pngてみると、画像が表示されるので、image_url('refinery/page_bg.png')コンパイルされたscssにプレフィックスがありませんassets/

どうすればこれを修正できますか?

publicという名前のフォルダーにフォルダーを作成してその中に入れようとしましたrefinerypage_bg.png、機能せず、 www.mydomain.com/refinery/page_bg.png に画像が表示されません。

これに対する解決策はありますか?誰でも助けることができますか?もちろん、資産のプレフィックスを修正する方が良いですが、パブリックフォルダーを直接使用してもかまいません..

4

1 に答える 1

0

アセットパイプライン構成は、いくつかのディレクトリをディレクトリとして定義しますasset。これは、アセットディレクトリ内のコンテンツへの参照がassets前面にないことを意味します。たとえば、ほとんどのデフォルト構成では、アセットディレクトリは:app/assetslib/assetsおよびvendor/assetsです。.png背景画像をそれぞれのサブフォルダーに名前imageを付けて配置し、次のように参照できますbackground: url(your_image.png)

編集:この議論によると、ヒロクに展開する場合sass-railsは、アセットの事前コンパイルのプロセスに含める必要があります。

于 2013-02-05T23:55:30.343 に答える