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-urlasset-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加载它们没有问题!