@import sass指令对我不起作用,(Undefined mixin)

时间:2014-01-13 15:00:05

标签: ruby-on-rails twitter-bootstrap sass

rails 3.2,bootstrap 3。

我使用bootstrap sass gem而我无法正常工作。 我有这个错误

  

未定义的mixin'make-lg-column'。

在此文件中 app / assets / stylesheets / exam.css.scss

...
.button-left{
  @include make-lg-column(4);
  display:inline;
  padding-top: 5px;
}
...

这是我的 application.css.scss

@import "bootstrap";
@import "exam";

如果我将这些行添加到 exam.css.scss ,则可行。但我不想这样做

@import "bootstrap/variables";
@import "bootstrap/mixins";

欢迎任何建议,谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

您是否希望将“exam”文件编译为application.css的一部分?

如果我理解正确,你应该重命名你的文件exam.css.scss - > _exam.scss并且您不需要添加任何其他导入。

这是因为exam.css.scss是一个单独的文件,编译器对application.css.scss一无所知

答案 1 :(得分:0)

mixin make-lg-columnbootstrap/mixins;文件中定义。为了处理mixins文件,您还需要提供变量文件。你可以做两件事之一:

  1. 在您的 exam.css.scss 文件中包含mixins和变量文件,即使这不是您的偏好。
  2. 您可以将make-lg-column mixin从mixins文件中复制到 exam.css.scss 文件的开头。
  3. .make-lg-column(@columns; @gutter: @grid-gutter-width){
      position: relative;
      min-height: 1px;
      padding-left:  (@gutter / 2);
      padding-right: (@gutter / 2);
      @media (min-width: @screen-lg-min) {
        float: left;
        width: percentage((@columns / @grid-columns));
      }
    }
    

    注意:您还必须重新声明您的变量。