我最近使用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
有什么想法吗?
答案 0 :(得分:15)
答案 1 :(得分:2)
不幸的是我发现SASS变量是特定于页面的。
如果要在所有文件中携带变量,请删除
来自application.css.scss文件的*= require_tree .
行,并将其替换为@import "layout.css.scss";
指令以手动导入每个sass文件。
是的,您必须@import每个文件