我正在加载SCSS文件中的背景图片bg.jpg图片 style.css.scss
background: url(/assets/bg.jpg) no-repeat center center;
预编译后,Sprockets会将图像的副本放在 / public / assets 目录中,并带有指纹名称 bg-28779d74f8a6fc51d1b46376428bed54.jpg 。我也可以通过 /assets/bg-28779d74f8a6fc51d1b46376428bed54.jpg 链接从浏览器访问图像。
但是当我在浏览器中自动加载页面时,背景图像显示为 而不是 ,当我在Dev Tools中检查该特定元素的CSS时,我看到:< / p>
background: url(/assets/bg.jpg) no-repeat center center;
不应该是
background: url(/assets/bg-28779d74f8a6fc51d1b46376428bed54.jpg ) no-repeat center center;
LE:我还使用rake资产预编译资产:将RAILS_ENV设置为production的预编译。我认为提及这个是个好主意,因为我注意到很多其他人因为这个而出现了问题。 sass-rails helpers "image-url", "asset-url" are not working in rails 3.2.1
答案 0 :(得分:0)
正确答案已在评论中,但现在是:
样式表中的图片网址(指向资源管道中的图片)应该使用sass帮助器image-url("bg.jpg")
而不是url('/assets/bg.jpg')
此帮助程序使用资产管道为每个图像查找正确的路径名。
来源:http://guides.rubyonrails.org/asset_pipeline.html#css-and-sass