0

我的印象是 Compass 可以在 Rails 3.1+ 资产管道环境中从图像文件生成精灵;但是,我无法让它工作。

在我的 application.scss 文件中,我有以下代码:

@import "foo/*.png";
@include all-foo-sprites;

如果我有foo目录app/assets/images,这工作得很好,但如果我有它,lib/assets/images或者vender/assets/images它根本不起作用。

我不断收到错误:

No files were found in the load path matching "foo/*.png". Your current load paths are: /Users/xxxxxx/app/assets/images

但我知道这vender/assets/images/foo 在加载路径中,因为image-url('foo/bar.png')工作得很好。

真正想要的是将图像放在 Gem 中(因为它们在我的许多应用程序中共享),但我也无法让它工作。

有谁知道这是否可能?我知道 compass-rails 支持资产管道,但我找不到任何提到支持此特定功能的地方。

4

1 回答 1

2

看起来默认情况下 compass-rails 不会在正常资产管道目录中查找精灵,这不是我所期望的,但如果您需要它可以轻松添加。

我刚刚在 compass 初始化程序中添加了以下代码,它基本上将所有资产管道加载路径添加到 Compass 的 sprite_load_path。

Compass.add_configuration({:sprite_load_path => Compass.configuration.sprite_load_path + Rails.application.config.assets.paths}, 'sprites')
于 2012-10-03T00:28:59.157 回答