Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何更新服务器缓存的CSS?_Ruby On Rails_Css_Caching_Deployment_Stylesheet - Fatal编程技术网

Ruby on rails 如何更新服务器缓存的CSS?

Ruby on rails 如何更新服务器缓存的CSS?,ruby-on-rails,css,caching,deployment,stylesheet,Ruby On Rails,Css,Caching,Deployment,Stylesheet,我刚刚发布了我的新rails站点,有一些CSS内容我需要更改,但我认为CSS缓存阻止了我的更改。有办法清除缓存吗?我做错了什么?如果您需要更多信息(我想不出任何代码可以帮助您),请告诉我,非常感谢。如果您使用的是Rails 3.1+,您可以使用,它会为您提供帮助 如果您正在使用资产管道,但仍然得到旧文件,这可能是因为您在部署时忘记了重新编译资产。在服务器上使用rakeassets:clean&&rakeassets:precompile,它将更新资产 如果您没有使用资产管道,那么您可以使用一些老

我刚刚发布了我的新rails站点,有一些CSS内容我需要更改,但我认为CSS缓存阻止了我的更改。有办法清除缓存吗?我做错了什么?如果您需要更多信息(我想不出任何代码可以帮助您),请告诉我,非常感谢。

如果您使用的是Rails 3.1+,您可以使用,它会为您提供帮助


如果您正在使用资产管道,但仍然得到旧文件,这可能是因为您在部署时忘记了重新编译资产。在服务器上使用
rakeassets:clean&&rakeassets:precompile
,它将更新资产

如果您没有使用资产管道,那么您可以使用一些老技巧。例如,可以重命名该文件。这肯定会让客户得到新版本

还可以添加查询参数。这个站点(stackoverflow)就是这样做的,看:

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


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

您所说的“由我的服务器缓存”是什么意思?我认为我的服务器缓存了我的资产管道的一个版本。我已经改变了一些CSS行为,但是当我刷新站点时,旧的CSS仍然存在。谢谢你缓存客户端-是的,这很常见。但您提到缓存服务器,这可能只是一个不好的措辞。不管怎样,我的建议对你有帮助吗?我正在使用管道。我现在将对资产进行rake。rake资产:clean&&rake资产:precompile工作得很好!谢谢