在rails 3.1中共享scss文件之间的mixin

par*_*ker 17 ruby-on-rails sass ruby-on-rails-3

我正在尝试引用另一个文件(home.css.scss)中定义的mixin(home.css.scss).我已经尝试将应用程序导入到家中但仍然出现"Undefined mixin"错误.

有没有办法自动导入我的所有文件,或者管理文件之间导入的最佳方法是什么?

num*_*407 25

我还没有能够跳到3.1,但是使用Compass&Sass已经有一段时间了,我发现最好尝试与你的实际CSS生成sass分开管理mixin/definition sass.通过这种方式,mixin文件可以像代码库一样自由处理,包含在必要的地方,而不会重复生成CSS规则.

所以你可能有:

/* my-mixin-concern.scss */
$default_foo: 123px !default;

@mixin some-concern($foo: $default_foo) {
  // do something
}

/* application.scss */
$default_foo: 321px; // optionally, pre-set the default value before import.
@import 'my-mixin-concern';  
p { @include some-concern; }

/* home.scss */
@import 'my-mixin-concern';
body.home p { @include some-concern(9000px); }
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以显式导入每个scss文件的所有需求,类似于在代码库中执行此操作的方式.