如何更新我的服务器缓存的CSS?

时间:2012-02-02 23:00:51

标签: ruby-on-rails css caching deployment stylesheet

我刚刚推出了我的新rails网站,而且我需要更改CSS内容,但我认为CSS缓存可以防止我的更改工作。有没有办法清除缓存?我究竟做错了什么?如果您需要更多信息(我想不出任何可以帮助您的代码),请告诉我们,非常感谢您。

1 个答案:

答案 0 :(得分:4)

如果您使用的是Rails 3.1+,则可以使用Asset Pipeline,它会为您处理。

如果您使用资产管道 并仍然获取旧文件,那可能是因为您在部署时忘记重新编译资产。在服务器上使用rake assets:clean && rake assets:precompile,它将更新资产。

如果您没有使用Asset Pipeline,那么您可以使用一些旧技巧。例如,您可以重命名该文件。这肯定会让客户获得最新版本。

您还可以添加查询参数。这个站点(stackoverflow)执行此操作,看起来:

<link rel="stylesheet" type="text/css" 
      href="http://cdn.sstatic.net/stackoverflow/all.css?v=bd28d262b63e">

也就是说,在部署新版本的样式表时,请更新此链接并增加版本号。但是,某些缓存代理可能仍会忽略此参数。