Rails 3.1-强制SCSS变量值刷新?

Rails 3.1-强制SCSS变量值刷新?,css,caching,ruby-on-rails-3.1,sass,Css,Caching,Ruby On Rails 3.1,Sass,我在资产/样式表目录中设置了一组[object].css.scss样式,以与应用程序中的不同视图相对应。每张图纸的第一行包括一组全局样式变量值: @import "branding.css.scss"; 然后在需要时访问整个库中的变量值($primaryColor、$secondaryColor等) 它非常干燥,但不幸的是,当我更改_branding.css.scss文件中的变量值时,Rails没有刷新对象样式表。在SCS使用更新的变量值重新编译对象样式库之前,我必须去触摸每个文件 这是一个小

我在资产/样式表目录中设置了一组[object].css.scss样式,以与应用程序中的不同视图相对应。每张图纸的第一行包括一组全局样式变量值:

@import "branding.css.scss";
然后在需要时访问整个库中的变量值($primaryColor、$secondaryColor等)

它非常干燥,但不幸的是,当我更改_branding.css.scss文件中的变量值时,Rails没有刷新对象样式表。在SCS使用更新的变量值重新编译对象样式库之前,我必须去触摸每个文件

这是一个小小的抱怨,但它会破坏工作流程,特别是当我一直在清除浏览器缓存试图修复它时:/

有没有更好的方法来组织变量


有没有办法强制刷新?

这确实很烦人

我没有一个完整的解决方案,但我发现一件事是,你所需要做的就是触摸“application.css.scss”,让它重新编译所有内容


我最近开始使用guard compass和guard livereload,但它在3.1中也有同样的问题。也许有比我更聪明的人可以修复它,使它也能触及“application.css.scss”

我一直在将变量和混入一个
includes.css.scss
文件,并将它们导入到每个需要它们的样式表中。要在更改包含文件时重新编译Rails,需要使用application.js中的
depend\u on
指令。例如:

application.css

/*
   *= depend_on includes
   *= require_self
   *= require stylesheet
*/
$bg-color: #999;
@import "includes.css.scss";

body { background: $bg-color; }
包括.css.scss

/*
   *= depend_on includes
   *= require_self
   *= require stylesheet
*/
$bg-color: #999;
@import "includes.css.scss";

body { background: $bg-color; }
样式表.css.scss

/*
   *= depend_on includes
   *= require_self
   *= require stylesheet
*/
$bg-color: #999;
@import "includes.css.scss";

body { background: $bg-color; }

Rails团队无视多年来发展起来的Sass约定,试图在将其与Sprocket(设计用于“dumb”CSS)结合时温和地支持语法。我很想听到一个关于如何将链轮的行为更改为Sass自动编译行为的建议(如果有任何文件发生更改,应请求,在tmp目录中缓存),但我认为我们不会找到这样的建议。这些资产管道问题可能会在RC中保留3.1至少几个星期。你是说application.css吗?我试过了,但没有强制刷新。我在Win7上开发是因为我是受虐狂,也许这就是原因。是的,我做了,很抱歉!我没有注意到任何问题,但可能尝试
*=require includes
而不是
*=dependent\u includes
,看看这是否有效?还值得查看链轮文档: