使用 Rails,我可以在 HTML 文件中使用图像标签助手,但如何在 CSS 文件中包含图像。我尝试从以下位置替换网址:
background:url('/assets/img/banners/img3.jpg')
到...
background:url(<%= image_tag "banners/img3.jpg" %>)
但这不起作用。我是否需要更改我的 css 文件的扩展名才能使其正常工作?
使用 Rails,我可以在 HTML 文件中使用图像标签助手,但如何在 CSS 文件中包含图像。我尝试从以下位置替换网址:
background:url('/assets/img/banners/img3.jpg')
到...
background:url(<%= image_tag "banners/img3.jpg" %>)
但这不起作用。我是否需要更改我的 css 文件的扩展名才能使其正常工作?
你在 CSS 中没有任何助手,这没关系;您可以手动指定路径,它将始终有效。
还要记住,路径是相对于样式表本身的,而不是相对于 HTML 文档的。
是的,你的 CSS 最后应该有erb
扩展名。例子:style.css.erb
。那么你可以这样做
.class { background-image: url(<%= asset_path 'image.png' %>) }
这将起作用,因为资产管道由于erb
文件扩展名而自动评估 ERB。在此示例中,在资产加载路径之一中具有图像是有意义的,例如app/assets/images/image.png
,将在此处引用。如果此图像已public/assets
作为指纹文件提供,则引用该路径。
在资产管道指南中阅读更多信息