为什么在scss中没有解决图像路径?

时间:2012-12-10 19:06:43

标签: css heroku ruby-on-rails-3.2 sass

在我的应用程序中,我有一个scss文件,由一个gem生成,驻留在我的app项目文件夹外面的gem文件夹中

在本地工作得很好,我有正确的图像路径,如下所示:(从chrome中的元素检查器复制)

media="all"
.social-share-button-twitter {
display: inline-block;
width: 16px;
height: 16px;
background: url("/assets/sprites/social-share-button.png") 0px -48px no-repeat;
}

但是,当我部署到heroku时,图像路径未解析,我得到了这个结果:

media="all"
.social-share-button-twitter {
display: inline-block;
width: 16px;
height: 16px;
background: url(image-path("sprites/social-share-button.png")) 0px -48px no-repeat;
}

注意上面的url,当然它不会指向png图像。

这是scss文件中的内容:

.social-share-button-baidu { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button.png')) 0px 0px no-repeat }

我知道为什么我在部署的应用程序中找到了错误的路径?

如何强制rails使用另一个scss文件而不是gem文件夹中的文件? 我试图在application.css中设置另一个文件,但是rails继续使用gem文件夹中的文件。

有什么想法吗?为什么它在当地工作正常?

1 个答案:

答案 0 :(得分:3)

如果它是scss而不是指南针,那么它会像这样(看看你将sprite文件夹与你的scss文件进行比较)

.social-share-button-baidu 
{ 
   display:inline-block; 
   width: 16px; 
   height: 16px; 
   background: url(../sprites/social-share-button.png) 0px 0px no-repeat;
}

../将你带出一个文件夹,你能从那里看到sprites文件夹吗?