2012-03-29 153 views
1

在我的Rails我使用罗盘(0.12.alpha.4)创建精灵3.2.1应用:正确铁路+北斗一代精灵给出错误图像路径

@import compass 

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

的精灵图像genereated,坐在app/assets/images/category-icons/type-sa69c4767de.png

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

+0

你在你的指南针config.rb为'http_generated_images_path'有哪些?我有类似的问题,并通过设置http配置路径解决。 – maxbeatty 2012-03-30 05:08:03

+0

我根本没有看到该配置,这与此路径问题无关。但是,感谢让我知道,因为我认为这是一件好事,所以生成的文件可以驻留在资产目录之外(这对我来说很烦人)。 – lulalala 2012-03-30 12:48:57

+2

我同意。将生成的精灵表移动到“app/assets”之外意味着我不必尝试从版本控制中排除这些文件。 不要忘记将新路径添加到rails资源路径。 'config/compass.rb'中'generated_images_dir =“tmp/sass-cache/sprites”'。 'config/application.rb'中的config.assets.paths + =“tmp/sass-cache/sprites”。 – 2012-03-30 17:19:46

回答

5

您使用的是compass-rails?它确保与资产管道的正确集成。

由于Compass v0.12,此适配器是将罗盘安装到您的导轨应用程序的唯一方法。

请勿使用相对路径来源图像。图像路径引用已经在资产加载路径中搜索。 Rails默认配置为在资产加载路径中包含app/assets/images

更改进口:

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

+0

谢谢,相对路径是来自设计师使用Middleman的。请记住下次转换此部分。请注意,指南针导轨和指南针0.12.alpha.4是可以互换的。 – lulalala 2012-03-30 12:45:35