我在assets/images
中有一个图片,我想将它设置为主页上的背景,指的是给定的类,但我在生产Heroku中看不到image
application.scss
.has-bg-img { background: url('img.PNG'); center center; background-size:cover; }
答案 0 :(得分:0)
您必须设置完整路径,例如url('localhost/apps/assets/images/myimg.jpg
')
答案 1 :(得分:0)
如果您的资源不是静态的并且已投放到您的回购协议中,并且您尝试引用动态上传的图片,则可能需要了解如何使用Heroku's ephemeral filesystem
答案 2 :(得分:0)
您可以尝试image-url
或asset-url
助手
Asset Pipeline
编辑: 实际上,我不确定你的语法
.has-bg-img {
background-image: url('img.PNG');
background-position: center center;
background-size:cover;
}
它应该更好。
答案 3 :(得分:0)
在我的Rails应用程序中,我将文件名更改为以.scss.erb
结尾,然后将以下内容作为示例。顶部的评论,然后是示例。
//= depend_on_asset "sprite-article-r4.svg"
.contents {
background-image:url('<%= asset_path("sprite-article-r5.svg") %>');
}
引用此SO question
答案 4 :(得分:0)
在Rails中,您必须将目录名称添加到url。为您的案例更改
.has-bg-img { background: url('img.PNG'); center center; background-size:cover; }
到
.has-bg-img { background: image-url('img.PNG'); center center; background-size:cover; }
这是因为您将图像存储在图像(资产/图像)目录中。
答案 5 :(得分:0)
尝试以下
.has-bg-img {
background-image: asset-url('img.png');
background-size: cover;
}
这应该有用,我不知道您使用center center;
的原因我认为这在语法上无效,请参阅此Horizontal & Vertical Align