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名为的文件夹中创建一个文件夹并将其refinery放入page_bg.png其中,但是,我没有工作,并且 www.mydomain.com/refinery/page_bg.png 不会显示图像。

有解决方案吗?任何人都可以帮忙吗?修复资产前缀当然更好,但是,我不介意直接使用公用文件夹..

4

1 回答 1

0

资产管道配置将一些目录定义为目录asset。这意味着对资产目录中内容的引用不在assets前面。例如,在大多数默认配置中,资产目录是app/assets:lib/assetsvendor/assets. 您可以将您的.png背景图片放在每个带有名称的子文件夹中,image并像这样引用它:background: url(your_image.png)

编辑:根据这个讨论,如果部署到 Hiroku,应该sass-rails包括在资产预编译过程中。

于 2013-02-05T23:55:30.343 回答