在Rails 4找不到vendor / assets / stylesheets / external.scss文件中定义的Sass mixin

时间:2013-10-19 13:49:10

标签: sass ruby-on-rails-4

它是一个Rails 4项目。 在文件app/assets/stylesheets/application.css.scss中,我已经

/*
 *= require_self
 */
@mixin row() {
  color: blue;
}

body {
  h1 {
    @include row;
  }
}

启动服务器并在浏览器中查看工作正常。

现在我接受mixin并输入文件vendor/assets/stylesheets/external.scss

@mixin row() {
  color: blue;
}

并在application.css.scss中要求它,如下所示:

/*
 *= require external
 *= require_self
 */

body {
  h1 {
     @include row;
  }
}

刷新浏览器,

错误
Sass::SyntaxError 
Undefined mixin 'row'.

为什么外部文件中定义的mixin不起作用?

1 个答案:

答案 0 :(得分:0)

这可能对您的错误没有多大帮助,但是从the guides它说:

  

在此示例中使用了require_self。这包含了CSS   在require_self的精确位置的文件(如果有)内   呼叫。如果多次调用require_self,则只调用最后一次   推崇。

在这个答案中也讨论了它:What does require_self mean?