背景图像没有加载在heroku打开

时间:2014-04-28 23:50:04

标签: css image twitter-bootstrap heroku ruby-on-rails-4

在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

2 个答案:

答案 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