1

使用 Rails,我可以在 HTML 文件中使用图像标签助手,但如何在 CSS 文件中包含图像。我尝试从以下位置替换网址:

background:url('/assets/img/banners/img3.jpg')

到...

background:url(<%= image_tag "banners/img3.jpg" %>)

但这不起作用。我是否需要更改我的 css 文件的扩展名才能使其正常工作?

4

2 回答 2

1

你在 CSS 中没有任何助手,这没关系;您可以手动指定路径,它将始终有效。

还要记住,路径是相对于样式表本身的,而不是相对于 HTML 文档的。

于 2013-08-29T11:29:08.213 回答
1

是的,你的 CSS 最后应该有erb扩展名。例子:style.css.erb。那么你可以这样做

.class { background-image: url(<%= asset_path 'image.png' %>) }

这将起作用,因为资产管道由于erb文件扩展名而自动评估 ERB。在此示例中,在资产加载路径之一中具有图像是有意义的,例如app/assets/images/image.png,将在此处引用。如果此图像已public/assets作为指纹文件提供,则引用该路径。

在资产管道指南中阅读更多信息

于 2013-08-29T11:29:52.293 回答