Heroku上的Rails 4有一个奇怪的问题。当图像被编译时,它们被添加了散列,但从CSS中引用这些文件时没有适当的名称调整。这就是我的意思。我有一个叫logo。png的文件。然而,当它出现在heroku上时,它被视为:
/assets/logo-200a00a193ed5e297bb09ddd96afb953.png
然而,CSS仍然声明:
background-image:url("./logo.png");
结果是:图像无法显示。有人遇到过这种情况吗?如何解决这个问题?
Heroku上的Rails 4有一个奇怪的问题。当图像被编译时,它们被添加了散列,但从CSS中引用这些文件时没有适当的名称调整。这就是我的意思。我有一个叫logo。png的文件。然而,当它出现在heroku上时,它被视为:
/assets/logo-200a00a193ed5e297bb09ddd96afb953.png
然而,CSS仍然声明:
background-image:url("./logo.png");
结果是:图像无法显示。有人遇到过这种情况吗?如何解决这个问题?
当前回答
在某些情况下,以下几点也适用
Logo {background: url(<%= asset_data_uri ' Logo .png' %>)}
来源:http://guides.rubyonrails.org/asset_pipeline.html
其他回答
只有这个片段不适合我:
background-image: url(image_path('transparent_2x2.png'));
但是要重命名stylename。SCSS到stylename.css.scss帮助我。
有趣的是,如果我使用'background-image',它不起作用:
background-image: url('picture.png');
但是仅仅是“背景”,它就做到了:
background: url('picture.png');
默认情况下,Rails 4不会为您的资产服务。要启用此功能,您需要进入配置/应用程序。Rb,加上这一行:
config.serve_static_assets = true
https://devcenter.heroku.com/articles/rails-4-asset-pipeline#serve-assets
在某些情况下,以下几点也适用
Logo {background: url(<%= asset_data_uri ' Logo .png' %>)}
来源:http://guides.rubyonrails.org/asset_pipeline.html
这招对我很管用:
background: #4C2516 url('imagename.png') repeat-y 0 0;