【问题标题】:Rails 3.1 asset pipeline with SASS使用 SASS 的 Rails 3.1 资产管道
【发布时间】:2011-12-19 10:23:53
【问题描述】:

我正在阅读这篇关于 Rails 3.1 asset pipeline 的帖子,作者指出了一些让我对转向这种新范式感到有些不高兴的事情。

因为资产已被编译,并且在该步骤中它们的名称被更改为包含内容的 md5 哈希,所以您不能再直接在 CSS 文件中引用这些资产。以这张图片为例,rails.png。已重命名:

rails-9c0a079bdd7701d7e729bd956823d153.png

我更喜欢将 SASS 用于我的 CSS,并专门将图像名称放入变量中,以便可以通过更改这些变量来快速更改我的 CSS 样式。现在不会因为名称被替换而被破坏吗?这不会也把更多经典的 CSS 图片背景弄乱吗?

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 绝对完美。虽然我觉得不看 sass-rails 文档有点愚蠢。我在 sass-lang.com 文档中停了下来。非常感谢你...
    【解决方案2】:

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

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

    你可以阅读它here

    【讨论】:

    • 唯一的问题是必须编译 SASS 文件,因此将其放入 .erb 并不能真正解决问题。谢谢你的建议......这绝对让我思考。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2012-02-04
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多