Heim  >  Fragen und Antworten  >  Hauptteil

ruby - rails 怎么清除浏览器的资源缓存?

一rails项目 现在有一问题:我修改了这个swf文件的参数后。页面加载的是上一个swf文件,例如:
1:有一个 attack.swf 文件要在这个页面中预览
2:发现attack.swf中一些元素的位置x,y不正确。
3:于是我在页面中修改了这些参数,用程序打包后再次生成attack.swf
4:然后刷新见面。
这个时候我发现我修改的参数并没有起作用,国为浏览器加载的是上一个swf文件没有加载我新打包的文件。我清除浏览器的缓存后刷新就可以看到我新修改的swf文件。
问:有没有什么方法在rails 中清除这些缓存呢?

PHPzPHPz2712 Tage vor639

Antworte allen(2)Ich werde antworten

  • PHP中文网

    PHP中文网2017-04-21 10:57:55

    这个其实和RAILS没有关系。
    主要是网站的资源服务器的配置,可能是Apache/Nginx也可能是ruby自带的那些。
    可以模仿ruby处理资源文件的方式,如果swf改变了,就换个名字,避免缓存问题

    Antwort
    0
  • 高洛峰

    高洛峰2017-04-21 10:57:55

    去看看Rails的 Asset Pipeline http://guides.rubyonrails.org/asset_p...

    rails会在你的静态资源上加一个参数,attack.swf?t=12
    一旦检测到你的静态资源改变了,这个参数就会变attack.swf?t=13

    你也可以参考这种方式,原理就是浏览器认为你的这个资源是新的,然后会去重新加载进来。
    不然总是304 Not Modified,总浏览器缓存太麻烦了。

    Antwort
    0
  • StornierenAntwort