18

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

在样式表中不重复一些颜色代码和一般几何图形的效果很好。现在新资产管道的问题是,据我所知,它会将“.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

有任何想法吗?

4

2 回答 2

15

Sass 支持Partials。这样你就可以在 __configuration.sass_ 中包含你的单独配置并引用它

@import "configuration";

从你的主要 sass 文件中。

于 2011-05-28T15:38:18.663 回答
2

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

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

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

于 2014-02-03T19:27:38.090 回答