Ruby on rails 3 rails引擎中的指南针轨道

Ruby on rails 3 rails引擎中的指南针轨道,ruby-on-rails-3,sass,compass-sass,Ruby On Rails 3,Sass,Compass Sass,我试图让rails引擎使用compass的精灵生成功能。 我将compass-rails添加到主应用程序的GEM文件中(在assets组之外) 在引擎的CSS文件中,我执行以下操作: @import "my-engine/icons/*.png"; @include all-icons-sprites; 唉,应用程序在错误的目录中查找图像 ActionView::Template::Error (No files were found in the load path matching "my

我试图让rails引擎使用compass的精灵生成功能。 我将
compass-rails
添加到主应用程序的GEM文件中(在
assets
组之外)

在引擎的CSS文件中,我执行以下操作:

@import "my-engine/icons/*.png";
@include all-icons-sprites;
唉,应用程序在错误的目录中查找图像

ActionView::Template::Error (No files were found in the load path matching "my-engine/icons/*.png". Your current load paths are: /home/dan/work/main-project/app/assets/images
  (in /home/dan/work/my-engine/app/assets/stylesheets/my-engine/sources.css.scss)):
如何以及在何处配置指南针以查看正确的路径?

需要检查的两件事:

  • compass插件在app/assets/images文件夹中查找内容

  • 文件只需要有PNG扩展名

  • 更新以征求意见 如果要在应用程序的其他位置保存图像,例如“public/sprites”,可以在
    config/application.rb
    中指定以下配置设置:

    config.compass.generated_images_dir = 'public/sprites'
    
    config.assets.paths << Rails.root.join('public', 'sprites')
    
    此外,由于新的sprite文件保存在“public/sprites/icons xxx.png”中,因此需要将输出路径添加到
    config/application.rb中的资产路径中:

    config.compass.generated_images_dir = 'public/sprites'
    
    config.assets.paths << Rails.root.join('public', 'sprites')
    

    config.assets.paths 1。是的,我希望它能看到引擎的资产/图像,而不是主应用程序。2.选中的!更新了答案,并提供了精灵的替代位置。向上投票或勾选,如果这证明是有帮助的:)感谢更新,但我的意思是,我的源图像在引擎中,而不是主应用程序中。另外,AFAIK主应用程序不应该知道引擎的特性。