通过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
有任何想法吗?
Sass支持Partials 。 这样,您可以在__configuration.sass_中包含单独的配置并引用它
@import "configuration";
从你的主sass文件。
不幸的是,我发现SASS变量是特定于页面的。
如果要在所有文件中携带变量,请删除*= require_tree .
从application.css.scss文件中@import "layout.css.scss";
行,并将其替换为@import "layout.css.scss";
手动导入每个sass文件的指令。
是的,你必须@import每个文件