如何防止在开发中位于单独文件中的Rails 3中缓存SCSS mixins?

时间:2015-01-27 20:28:33

标签: ruby-on-rails ruby-on-rails-3 sass asset-pipeline mixins

使用Rails 3 Asset Pipeline,我正在使用

导入mixins
@import "mixins.css.scss";

进入主SCSS文件。然后使用via

@include big_box(34px);

问题在于,当我在单独的文件中对mixin进行更改时,更改将生效,直到我进入主SCSS文件,进行任何更改(甚至是空格)并保存。

必须有一种方法可以在开发环境中禁用mixin缓存,以避免这个烦人的步骤。我一直无法找到答案。

注意:我正在使用RubyMine for IDE

2 个答案:

答案 0 :(得分:0)

这不是默认行为。但是,我想知道问题是否在于您如何指定导入。

mixin的文件名实际上是mixins.css.scss吗?如果是这样,我建议尝试部分类似的命名约定,该约定可能实际上是SCSS的首选方式:将文件重命名为_mixins.css.scss,并在清单文件中指定@import 'mixins'

此方法按预期为我重新加载所有文件中的更改。

答案 1 :(得分:0)

@Eric是正确的,为清楚起见,请注意一些......

  • 使用下划线将导入的Sass重命名:_mixins.css.scss
  • @import 不带下划线且没有文件扩展名
  • 注意,您可以包括路径...

例如

For path/to/_buttons.css.scss

@import 'path/to/buttons'

Rails will bust that cache whenever you edit _buttons.css.scss

(Note, I'm on Rails 4.2)