Rui*_*ang 18 ruby-on-rails sass ruby-on-rails-3
我有一个使用SASS的Rails 3.1应用程序.该application.css.scss文件看起来像:
@import 'reset.css';
@import '960.css';
@import 'pages/master.css.scss';
Run Code Online (Sandbox Code Playgroud)
我有一个监视器脚本,application.css.scss只要其中一个@imported文件被更改就会触及.
有一段时间,这个设置工作正常.自从上周(我不知道为什么),Rails已经被拉动的高速缓存版本application.css的网页,尽管我在重新启动应用程序的所有尝试,再感人application.css.scss,等我也删除了.sass-cache没有效果.
有任何想法吗?
首先,通常的缓存清除健全性检查可能会有所帮助.清除浏览器缓存.清除服务器文件缓存(如果您在开发/测试中或能够负担生产)和sass-cache:
rake tmp:cache:clear
rm -fr tmp/sass-cache #or 'compass clean' if using compass
Run Code Online (Sandbox Code Playgroud)
如果这没有帮助,也许Rails 在其他地方编译了另一个 application.css(没有被缓存清除删除)?
例如,我运行compass watch app/assets/stylesheets/application.css.scss调试目的,它创建了一个public/assets/application.css文件,凭借它在public /中的位置, 防止任何新的application.css.scss样式表更改被Rails注意到.删除后,应用程序再次从.scss样式表中删除.这只是意外覆盖文件创建的一个示例.尝试在整个应用程序目录中运行查找以查找任何生成的application.css文件,在清除缓存后执行此操作以避免在结果中显示这些文件.
(仅供参考,为了避免我的具体问题,我现在用--css-dir指向缓存来运行指南针监视以防止我的问题
$ compass watch app/assets/stylesheets/application.css.scss --css-dir tmp/cache/
Run Code Online (Sandbox Code Playgroud)
)
rake assets:precompile在开发中运行后,我遇到了类似的问题.也许Rails正在提供预编译资产public/assets?尝试清理它.
您不需要在开发中触摸aplication.css.scss,只要其中一个@included文件发生更改,rails就应该为新内容提供服务.
另外,请确保您拥有以下内容 config/environments/development.rb
# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true
Run Code Online (Sandbox Code Playgroud)
如果您将其替换@import 'file.css';为 ,则应该允许它在开发模式下自动刷新@import 'file';application.scss
我一直在使用,bin/rails tmp:clear直到删除文件扩展名
haj*_*poj -1
随机我遇到了与使用 twitter bootstrap 和 application.css.scss 相关的缓存问题。基本上我将 application.css.scss 更改为普通的 application.css 并解决了我的问题。也许这可以帮助你?如果你还没有弄清楚的话。