當使用鏈輪時,我有一個.coffee文件的完整目錄,它們會合並在一起併成爲'mobile_v2.js'。當這個文件得到服務時,一個美妙的ETag被設置與它的內容的SHA1哈希。這允許緩存破壞和其他一切美妙而好的事情正常工作。即,如果我修改了任何源.coffee文件並重新加載頁面,Sprockets將重新生成'mobile_v2.js'並將其發送到客戶端。如果我不改變任何東西,客戶端將使用它的該資源的緩存副本。這很好。如何獲取Sprockets生成資源的摘要?
現在我已經有了一個場景,其中的一部分Web應用程序使用Backbone.js,用戶可以花費很長時間在一個頁面上,而不需要執行完整的「刷新」...即,大量的AJAX更新,但沒有新的「......」。從字面上看,客戶可能會在本頁面上花費數週時間。因此,如果我將更新推送到JS/CSS資源,我需要一種方法讓客戶端檢測到這一點並觸發整個頁面的重新加載。做一次完整的重新加載是破壞性的,所以我不想經常這樣做。我也不想爲這些資源輪詢服務器......我擁有所有這些AJAX調用,所以我可以用額外的響應頭來捎帶這些調用。我所能做的一切。我只需要一個簡單問題的幫助:
給定生成的資源,如'mobile_v2.js',如何查詢Sprockets以獲取該文件的SHA1摘要?(從我的Ruby代碼)
我有兩個場景,生產(預編譯)和開發(未預編譯)。實際上,在生產中,我們使用git修訂版,但您的建議也會起作用。 –