2014-01-28 36 views
0

我知道,在修改文件時,rails會自行清除資產管道緩存,但我有一個特殊場景。我將我的應用程序作爲HTML響應提交給ajax請求,跨域使用rack-cors繞過CORS。Rails:手動清除資產管道緩存

的問題是,每一個Ajax請求經過對人的瀏覽器時,我得到一個新的application.js文件:

這三年requests..three獨立的application.js文件 error

如果我可以在啓動請求之前清除資產管道緩存,我想我可以避免這個問題。無論如何,我可以以編程方式做到這一點我不確定這是否會在導軌側或遠程客戶端上完成。我假設客戶端的一些jQuery來清除緩存,但是真的想在這個問題上尋找一些額外的視角。我試過

$(#myresultsdiv).empty() 

沒有運氣。任何幫助非常感謝!

回答

0

我沒能疏通管道資產的緩存,但我使用ajax的預過濾器禁用現時用法:

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

我會關閉資產管道,因爲如果每次請求都重新生成它,您將無法獲得它的好處。

在您的環境配置:

# Enable asset pipeline 
    config.assets.digest = false 

    config.assets.enabled = false 
+0

config.assets.digest = false,什麼都不會做。我做了config.assets.enabled = false,雖然這確實解決了問題,但由於我一直依賴資產管道,所以出現了更多的問題。有沒有辦法做到這一點,而不關閉資產管道? – jamesdlivesinatree