現在看來,在使用資產管道和sprocket-rails gem的Rails 4中,當處理圖像時,它們的文件名會附加像css和javascript這樣的md5指紋。雖然這是有道理的,因爲md5 fingerprints are awesome,它使得越來越難以從JavaScript訪問該圖像。在rails 3.2中,我可以通過/assets/image_name.jpg
訪問映像,它可以正常運行,但是在資產不存在的rails 4中,它只與名稱中的md5指紋一起存在。在Rails 4中從javascript訪問生產中的圖像
我知道rails通過erb <%= asset-url("image_name.jpg") %>
提供助手來訪問圖像,但這在JavaScript中並不理想,因爲我沒有在我的js中使用erb。有很多方法可以用視圖中的數據屬性來破解,或者在我的視圖中使用腳本標記並設置一些全局變量,但是我正在尋找一個很好的解決方案(如果存在)。
任何幫助表示讚賞,感謝。
如果我想利用圖像資源的指紋來打破更新緩存?如何從JavaScript變量訪問指紋圖像? – Micah
我正在尋找同樣的東西,我發現這一點。它符合你的要求。 https://github.com/johnnypez/assets_js。 –