在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
我可以看到图片
因此,编译的scss中的image_url('refinery/page_bg.png')
缺少前缀assets/
我该如何解决这个问题?
我尝试在名为public
的{{1}}文件夹中创建一个文件夹并将refinery
放入其中,但是,我没有工作,并且www.mydomain.com/refinery/page_bg .png不会显示图像。
有解决方案吗?任何人都可以帮忙吗?修复资产前缀当然更好,但是,我不介意直接使用公共文件夹..
答案 0 :(得分:0)
asset-pipeline config将一些目录定义为asset
目录。这意味着对资产目录中内容的引用前面没有assets
。例如,在大多数默认配置中,资产目录为:app/assets
,lib/assets
和vendor/assets
。您可以将.png
背景图片放在名称为image
的每个子文件夹中,并按照以下方式引用它:background: url(your_image.png)
。
编辑:根据this discussion,如果部署到Hiroku,资产预编译过程中应该包含sass-rails
。