1

在我的应用程序中,我有一个 scss 文件,它来自一个 gem,驻留在我的应用程序项目文件夹之外的 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 文件夹中的文件。

任何的想法 ?为什么它在本地运行良好?

4

1 回答 1

3

如果它是 scss 而不是指南针,那么它会像这样(查看 sprites 文件夹与 scss 文件的比较位置)

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

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

于 2012-12-12T13:21:02.040 回答