在我的应用程序中,我有一个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文件夹中的文件。
有什么想法吗?为什么它在当地工作正常?
答案 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文件夹吗?