【问题标题】:Rail + Compass sprite generation gives wrong image pathRail + Compass sprite 生成给出了错误的图像路径
【发布时间】:2012-03-30 05:24:59
【问题描述】:

在我的 Rails 3.2.1 应用程序中,我使用 compass(0.12.alpha.4) 创建精灵:

@import compass

@import "../images/category-icons/type/*.png"
@include all-type-sprites
//+all-type-sprites

精灵图像已正确生成,位于 app/assets/images/category-icons/type-sa69c4767de.png

但是生成的样式表是错误的。它指向/assets/../images/category-icons/type-sa69c4767de.png。它只是将assets 附加到路径中。它在 Rails 之外工作,所以我认为它与资产管道有关。我应该如何配置才能正常工作?

【问题讨论】:

  • 你的指南针 config.rb 中有什么 http_generated_images_path?我遇到了类似的问题,通过设置 http 配置路径解决了。
  • 我根本看不到该配置,这与此路径问题无关。但是感谢您让我知道,因为我认为设置它是一件好事,因此生成的文件可以驻留在资产目录之外(这让我很烦恼)。
  • 我同意。将生成的精灵表移到app/assets 之外意味着我不必尝试从版本控制中排除这些文件。不要忘记将新路径添加到 Rails 资产路径。 generated_images_dir = "tmp/sass-cache/sprites"config/compass.rbconfig.assets.paths += "tmp/sass-cache/sprites" in config/application.rb`.

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


【解决方案1】:

你在使用compass-rails吗?它确保与资产管道的正确集成。

自 Compass v0.12 起,此适配器是将 compass 安装到您的 rails 应用程序中的唯一方法。

不要使用源图像的相对路径。图像路径引用已通过资产加载路径进行搜索。默认情况下,Rails 配置为在资产加载路径中包含 app/assets/images

将导入改为:

@import "category-icons/type/*.png"

【讨论】:

  • 谢谢,相对路径来自使用中间人的设计师。下次记得转换这部分。请注意,compass-rails 和 compass 0.12.alpha.4 是可以互换的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
相关资源
最近更新 更多