在我的Rails 4.2.3应用程序中,我使用一个名为Gritter
的jQuery插件将消息传递给浏览器。
然而,在最近升级到4.2.3之后,Gritter的背景图像不再显示。 CSS是:
.gritter-item {
display:block;
background:url(/assets/gritter.png) no-repeat left -40px;
color:#eee;
padding:2px 11px 8px 11px;
font-size: 11px;
font-family:verdana;
}
Gritter位于:
/vendor/assets/javascripts/jquery-plugins/Gritter/
此下有css
和images
个目录。
因此url(/assets/gritter.png)
类型路径分配无效。它们最初是url(../images/gritter.png)
。但是我试着回到那个,它也没有用。
我在config/initializers/assets.rb
中设置了这个:
Rails.application.config.assets.precompile += %w( ie-spacer.gif gritter.png gritter-close.png )
有关资产管道的一些内容在Rails 4中发生了变化,我不知道它是什么。
更新
我可以在:
中看到带有缩略图的图像/public/assets/jquery-plugins/Gritter/images
所以问题不在于它们的包含。问题是这个插件的CSS,无论我将其包含在我的主application.scss
文件中, 都拒绝在编译CSS时包含图像的真实资产路径 即可。它找不到带有缩略图的文件名。
答案 0 :(得分:1)
预编译图片资源时,需要使用asset-url
帮助程序访问它们,请尝试:
background: asset-url('gritter.png') no-repeat left -40px;
答案 1 :(得分:0)
在背景之间加一个空格:< space> url(/assets/gritter.png)no-repeat left -40px;
示例: background:url(/assets/gritter.png)no-repeat left -40px;
答案 2 :(得分:0)
只需将此用作背景属性:
background: image-url("gritter.png") no-repeat left -40px;