在SCSS Partial中使用Rails 3.1资产路径

我有以下设置:

app/assets/stylesheets/application.css.scss /* *= require_self *= require fancybox */ /* COLORS.. */ /* MIXINS... */ /* FONT STACKS... */ /* IMPORTS */ @import "reset"; @import "supergrid"; @import "rails"; @import "app"; @import "forms"; @import "layout"; 

在我的各个部分中,我遇到了资产路径的真正问题。 当在application.css.scss或清单加载的任何内容时,我可以使用:

 .example { background-image: image-path("background.png"); } 

但是,当我使用partial,例如my _layout.css.scss partial时,当我尝试相同的东西时,只能从编译文件中省略background-image属性。 似乎SCSS资产助手在部分内部不可用?

有没有人得到这个工作,我错过了一些明显的东西? 或者是不可能在部分中使用资产助手? 如果是这样,这是一个主要的主要问题,因为我的整个应用程序结构依赖于SCSS变量和部分之间共享的mixin。

我知道变量和mixin不在sprockets清单中共享,所以如果partials无法访问资产助手,那么我正在考虑必须将所有内容连接到一个scss文件中,这几乎违背了Sass和Sprockets的目的。

任何帮助将非常感谢!

奇怪,它应该工作..只是一些想法:

  1. 您使用的是最新的gemsass-rails和链轮吗?
  2. 尝试将.css.scss重命名为.scss
  3. 尝试用asset-url('background.png', image)image-url('background.png')替换image-path('background.png') image-url('background.png')
  4. 尝试从application.css.scss中删除require_self
  5. 尝试从application.css.scss中删除所有指令,并使用@import导入这些文件