在heroku上部署我的应用程序时,我的背景图像没有显示..
我的徽标图片确实显示出来。
它们都在我的资产/图像文件中
我的资产/ stylesheets / application.css.scss文件中引用了我的背景:
body {
margin:0px;
background: url('city-lights1.jpg');
}
我的徽标在我的views / layouts / pages / home文件中引用:
<div class='log-image'>
<%= image_tag("logo.png", alt: "image", class:'img-responsive logo') %>
</div>
为什么我的背景图片没有加载但是我的徽标图片呢?
我正在使用Twitter bootstrap
答案 0 :(得分:3)
您没有像在主页中那样在 application.scss 中使用Rails助手,因此背景图片的网址未按预期引用图片。
您应该在 application.scss 文件中使用rails 4 helper:
background-image: asset-url("city-lights1.jpg");
/* Or */
background-image: image-url("city-lights1.jpg");
此外,您可以直接引用资产(请注意,您不需要在网址中包含 / image 文件夹)。请记住,如果您预先编译资产,则此网址引用在Heroku中不起作用:
background-image: url("/assets/city-lights1.jpg");
有关如何在Rails' Official documentation上的资产管道中引用图片的详细信息。
答案 1 :(得分:0)
除了之前的解决方案,您还需要: 确保在production.rb文件中设置这些
config.cache_classes = true
config.serve_static_assets = true
config.assets.compile = true
config.assets.digest = true