【问题标题】:How to include images in lib/assets on Heroku?如何在 Heroku 的 lib/assets 中包含图像?
【发布时间】:2013-10-04 19:24:02
【问题描述】:

目前,我有一个外部 CSS 库,我将其包含在我的 rails 应用程序中,结构如下

lib/
  assets/
    theme/
      css/
        *.css
      images/
        *.img

CSS 文件引用一些图片如下:

background: #fff url("../images/image1.png") repeat;

这在本地工作得很好,但是当我部署到 Heroku 时,这个相对路径最终是:

...root_url/image1.png 这不起作用。

我可以更新所有图像引用以指向 assets/ 并将图像移到那里,但这似乎很乏味,我不想修改 CSS 文件,因为它们是外部的。

有没有更简单的方法来做到这一点?

【问题讨论】:

    标签: ruby-on-rails heroku asset-pipeline


    【解决方案1】:

    如果您使用的是 SASS,则可以访问资产管道助手,例如:

    background: #fff url(asset-path('image1.png'));
    

    如果您没有 SASS 或预处理器,则可以直接使用非版本化资产路径:

    background: #fff url('/assets/image1.png'));
    

    【讨论】:

    • 对,但是我需要修改 .css 文件,这意味着如果我想更新它们,我必须记住重新应用更改。
    • 我明白了。这是第三方 CSS,其相关图像链接已损坏。您可以编写一个基于 SASS 或 CSS 的补丁来覆盖对图像的引用,以便为您正确地提供它们并单独存储该文件。无论哪种方式,它在升级时都很脆弱。
    猜你喜欢
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 2016-03-13
    相关资源
    最近更新 更多