【问题标题】:Assets pipeline images subdirectories heroku资产管道图像子目录 heroku
【发布时间】:2012-06-28 23:18:04
【问题描述】:

好的,所以我在 assets/images/icons 中有一个名为 icons 的子目录。

在我使用 sass 的 css 中,如果我这样做的话:

background: transparent image-url("mobile.png") no-repeat left center;

然后推送到heroku,它运行完美,背景显示没有问题。

但如果我这样做:

background: transparent image-url("icons/mobile.png") no-repeat left center;

背景根本不显示。

到目前为止我发现了什么:

  • 我的 css 中所有显示图像的背景 url(不在子目录中的)都是 /assets/mobile-circle-header-fac4f74ae28c8147aaf9dbca8fb110e8.png
  • 子目录中未显示的图像类似于没有摘要的/assets/icons/mobile.png
  • 当我通过 image_tag 调用它们时,子目录中的图像会显示在我的 html 中,因此问题必须与 sass 隔离。

如果您需要更多信息,请尽管询问。

谢谢!

编辑

当我将子目录重命名为“图标”以外的其他名称时,它可以工作:O,有什么想法吗?哈哈……

【问题讨论】:

  • image-url("icons/mobile.png") 在本地工作吗?您是否确保在推动该更改之前重新编译您的资产?
  • 是的,它在本地工作。每次推送时,资产都会在 heroku 一侧编译!
  • 当我在 Pow.cx 本地环境中进行生产测试时。图标子目录中的图像具有摘要并显示
  • 哇哦,它通过将文件夹图标重命名为其他东西来工作。

标签: ruby-on-rails ruby heroku sass assets


【解决方案1】:

哈 - 刚刚出现同样的错误,这是因为 Icon? 在 ~/.gitignore_global 中。我一定是这样添加的,操作系统生成的文件就是注释。

注意 - 您可以查看 heroku 上的资产预编译目录

$ heroku run bash
$ ls public/assets

查看您的资产是否已编译。默认情况下,应添加所有图像子目录。这可能有助于确定是否存在其他问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多