通过Assets Pipeline,Rails 3.1 rc1携带Sass变量

我最近用3.1 rc1分支了我的Rails 3.0项目之一,以尝试新的资产管道。在进入3.1之前,我一直在项目中使用Sass,所以我一直在一个单独的配置文件中设置一些变量和函数,并让我所有其他sass文件在第一行导入该文件。

在样式表中不要重复一些颜色代码和一般几何图形,这一直很好。现在,新的Assets Pipeline存在问题,因为据我所知,它将“ .css.sass”文件转换为原始CSS,然后再将其附加到其余代码中。

因此,如果我在“ application.css”中指定:

/*
 *= require ./configure
 *= require ./what_ever_other_files_i_want_to_import
*/

我收到如下错误:

Sass::SyntaxError
    Undefined variable: "$interactive".

当我尝试从以下位置访问文件: http://localhost:3000/assets/application.css

有任何想法吗?

卡卡西Davaid2020/03/24 14:12:32

Sass支持Partials这样,您可以将单独的配置包含在__configuration.sass_中,并使用

@import "configuration";

从您的主要sass文件中。

古一2020/03/24 14:12:32

不幸的是,我发现SASS变量是特定于页面的。

如果要在所有文件中携带变量,请*= require_tree .从application.css.scss文件中删除该 行,并用@import "layout.css.scss";伪指令替换以手动导入每个sass文件。

是的,您必须@import每个文件