Rails 4 + Less 的图片网址不包括哈希
Posted
技术标签:
【中文标题】Rails 4 + Less 的图片网址不包括哈希【英文标题】:Image urls for Rails 4 + Less not including the hash 【发布时间】:2014-02-21 20:47:40 【问题描述】:我有一个 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
)。
How to reference images in CSS within Rails 4
有什么想法吗?
【问题讨论】:
【参考方案1】:“哈希”被称为asset fingerprinting,是Rails asset pipeline
的标准功能,这意味着如果一切都正确,它应该可以工作:)
我们以前有过这样的经验,你已经完成了 90% 的路
我推荐 2 个修复:
1.在 LESS 中使用 asset_url
:
body
background-image: asset_url("background.jpg");
2。 Precompile your assets
#config/environments/production.rb
config.serve_static_assets = true
#cmd
rake assets:precompile RAILS_ENV=production
这应该使您的资产静态,从而让您的 CSS 加载它们没有问题!
【讨论】:
以上是关于Rails 4 + Less 的图片网址不包括哈希的主要内容,如果未能解决你的问题,请参考以下文章