13

在这里发疯。我正在开发一个 Rails 应用程序,并且我正在使用 twitter-bootstrap-rails gem 来在我的应用程序中包含 Twitter Bootstrap 样式。这个 gem 在 app/assets/stylesheets 中生成一个名为“bootstrap_and_overrides.css.less”的文件,我一直在使用它来修改一些引导变量并包含我自己的 CSS 覆盖。

直到今天,一切都运行良好。出于某种原因,我今天对该文件所做的更改正在保存到该文件中,但 Rails 仍在为该文件的旧版本提供服务!我在任何地方都没有找到该文件的预编译版本(公共/资产中没有)......只有我一直在修改的资产/样式表中的那个。就应用程序中的目录而言,一切看起来都很好,但是当我启动 rails 服务器、加载页面并使用元素检查器查看样式表时,它使用的是旧版本的“bootstrap_and_overrides.css.less”与我已删除的规则。我已经在浏览器中关闭了缓存,并在 4 种不同的浏览器中尝试过,所以我很确定这不是浏览器缓存的结果。

rails 资产管道似乎只是为不存在的文件版本提供服务!有人知道为什么会发生这种情况吗?

4

1 回答 1

31

修复。

资产管道将缓存版本存储在tmp/cache中。

我运行rake tmp:clear,删除了其中的所有文件,然后rails 提供了我想要的 *bootstrap_and_overrides.css.less* 版本。

为什么缓存版本突然停止更新我无法理解。啊啊啊!

于 2012-08-09T20:11:27.847 回答