Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Javascript Rails:手动清除资产管道缓存_Javascript_Jquery_Ruby On Rails_Ajax_Ruby On Rails 3 - Fatal编程技术网

Javascript Rails:手动清除资产管道缓存

Javascript Rails:手动清除资产管道缓存,javascript,jquery,ruby-on-rails,ajax,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ajax,Ruby On Rails 3,我知道rails在修改文件时会自动清除资产管道缓存,但我有一个特殊的场景。我将我的应用程序作为对ajax请求的HTML响应,跨域使用以绕过CORS 问题是,每次ajax请求在用户浏览器上通过时,我都会得到一个新的application.js文件: 这是三个请求..三个单独的application.js文件 如果我可以在启动请求之前清除资产管道缓存,我想我可以避免这个问题。不管怎样,我可以通过编程实现吗?我不确定这是在rails端还是远程客户端完成的。我假设在客户端使用jquery来清除缓存,但

我知道rails在修改文件时会自动清除资产管道缓存,但我有一个特殊的场景。我将我的应用程序作为对ajax请求的HTML响应,跨域使用以绕过CORS

问题是,每次ajax请求在用户浏览器上通过时,我都会得到一个新的application.js文件:

这是三个请求..三个单独的application.js文件

如果我可以在启动请求之前清除资产管道缓存,我想我可以避免这个问题。不管怎样,我可以通过编程实现吗?我不确定这是在rails端还是远程客户端完成的。我假设在客户端使用jquery来清除缓存,但实际上是在寻找关于这个问题的其他观点。我试过了

$(#myresultsdiv).empty() 

没有运气。非常感谢您的帮助

我会关闭资产管道,因为如果为每个请求重新生成资产管道,您将无法从中获益

在您的环境配置中:

  # Enable asset pipeline
  config.assets.digest = false

  config.assets.enabled = false

我没有设法清除资产管道缓存,但通过使用ajax预过滤器禁用了nonce用法:

$.ajaxPrefilter('script', function(options) {
options.cache = true;
});

config.assets.digest=false,不会执行任何操作。我改为config.assets.enabled=false,尽管这确实解决了问题,但由于我一直依赖于资产管道,因此又出现了一百万个问题。有没有办法在不关闭资产管道的情况下做到这一点?