第一次尝试 Rails 8。 Rails 指南声明:
资产管道自动评估ERB。这意味着,如果您向 CSS 资源添加
扩展(例如erb
),那么像application.css.erb
这样的帮助器就可以在您的 CSS 规则中使用:asset_path
.class { background-image: url(<%= asset_path 'image.png' %>) }
我需要它来渲染指纹资产。
但是一旦我将
application.css
重命名为 application.css.erb
,样式表就会完全停止提供给我的浏览器。
作为解决方法,我尝试保留
application.css
(没有 .erb
)并按照指南关闭指纹识别,但这也不起作用:图像路径仍然带有指纹。
我做错了什么?
指出的那样,Propshaft 自动处理资产路径。不需要css.erb
。来自
文档: Propshaft 将自动转换 CSS 中的资源引用以使用摘要文件名。因此,在提供样式表之前,
background: url("/bg/pattern.svg")
会转换为
。background: url("/assets/bg/pattern-2169cbef.svg")