ruby-on-rails - 带有 Twitter Bootstrap : still serving an old asset 的 Rails

标签 ruby-on-rails web-applications twitter-bootstrap asset-pipeline browser-cache

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

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

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

最佳答案

解决它。

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

我跑了rake tmp:clear ,它删除了那里的所有文件,然后 rails 提供了我想要的 *bootstrap_and_overrides.css.less* 版本。

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

关于ruby-on-rails - 带有 Twitter Bootstrap : still serving an old asset 的 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890749/

相关文章:

java - JSTL XML 文件何时实际读取?

c++ - 一个端口 c++ 如何连接到互联网?

ruby-on-rails - 将验证错误关联到多个字段

ruby-on-rails - simple_form 与 bootstrap 3 的集成

ruby-on-rails - 没有id的Rails 3资源路由

c# - 将 CSS 添加到 C# Web 应用程序

ruby-on-rails - 在 Rails 中停止恶意用户之间的 session 共享

jquery - btn-group-justified 中的预压按钮不想返回正常状态

c# - 使用 Twitter Bootstrap 在 ASP.NET MVC 中调用模态对话框的最佳方式是什么?

css - Bootstrap 文件未在运行时加载