Rails的图片url4 +不包括哈希
我有一个Rails 4应用程序,并使用less-rails
gem。 在main.css.less
,我使用以下命令向网站添加背景图像:
body { background-image: image-url("background.jpg"); }
一切都在本地工作正常,但当我使用预编译资产推送到我的服务器时,图像url不会更新以包含哈希。 也就是说,图像现在位于public/assets/background-074c0b767cd8cfb2da93b37ea3596326.jpg
但我的css文件仍然是url(/assets/background.jpg)
。
下面的链接似乎很有希望,但没有一个推荐的解决方案有效(大多数是特定的sass
,虽然我尝试了image-url
, asset-url
和他们各自的-path
)。
如何在Rails 4中引用CSS中的图像
有任何想法吗?
“哈希”被称为资产指纹识别 ,并且是Rails asset pipeline
的标准function,这意味着如果一切正常,它应该可以工作:)
我们之前已经有过这方面的经验,而且你有90%的方式使用它
我建议2个修复:
1.在您的LESS中使用asset_url
:
body { background-image: asset_url("background.jpg"); }
2. 预编译您的资产
#config/environments/production.rb config.serve_static_assets = true #cmd rake assets:precompile RAILS_ENV=production
这应该使您的资产保持静态,从而允许您的CSS加载它们没有问题!