RASS 3.1资产管道与SASS

时间:2011-11-01 11:38:22

标签: ruby-on-rails ruby-on-rails-3.1 sass asset-pipeline

我正在阅读这篇关于Rails 3.1 asset pipeline的帖子,作者指出了一些让我对这个新范例感到有些不满的事情。

由于资产已编译,并且在该步骤中,其名称已更改为包含内容的md5哈希值,因此您无法再直接在CSS文件中引用这些资源。以此图片为例,rails.png。它被重命名为:

rails-9c0a079bdd7701d7e729bd956823d153.png

我更喜欢将SASS用于我的CSS,并特别将图像名称放入变量中,以便通过更改这些变量来快速更改我的CSS样式。现在不会因为姓名被替换而被打破吗?这也不会搞砸更多经典的CSS图像背景吗?

如果这确实是一个问题,我们如何解决这个问题?我宁愿继续使用SASS。它使广泛的CSS文件更易于管理。

2 个答案:

答案 0 :(得分:6)

在sass样式表中,您需要使用image_path提供的image_urlsass-rails帮助程序来生成有效的图像路径。另一种方法是将erb嵌入样式表中,但对我来说似乎太乱了。

答案 1 :(得分:0)

在文件名末尾添加.erb。并使用它

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

您可以阅读here