1
我遇到了一個非常奇怪的錯誤。使用mogrify調整大小後的資產中找不到圖像
我的網站工作完美,但我不得不調整着陸頁上的一些圖片的大小,因爲太重了,他們放慢了我的頁面。
我使用mogrify來調整在app /資產/圖像的所有圖像
mogrify -resize 50% *.jpg
調整之後,我刪除了所有資產使用
rake assets:clean
然後
rake assets:precompile
重新編譯圖片在資產管道中,儘管我清除了瀏覽器的緩存,但現在不再顯示圖像。如果我改變圖像的名稱,並在我看來相應的,一切正常。
更新:
的問題是,當我調整圖像大小,編譯後的文件名稱更改。這是我的錯誤,當我嘗試訪問圖像:
No route matches [GET] "/assets/image-small-05a31635ef97c8b04eaeb6e5f3f9053f1146ed1cae0796aed876f086f934cf0b.jpg"
但在資源路徑,相同的文件有名稱:
image-small-a8859704b69e18b59af2760e724b27560d1d40a597595308241845f563197a27.jpg
因此,在文件系統中的隨機部分變化,但沒在網頁上不會改變。
感謝您的幫助
我的第一個猜測是緩存問題。您是否嘗試在跳過緩存的情況下重新加載網頁? mogrify會改變文件的修改時間嗎?我想應該。否則使用'touch'來做到這一點。通過他們的資產路徑訪問原始圖像嗎? (即將src直接粘貼到瀏覽器的地址欄中,看看會發生什麼) – Raffael
我忘了說我總是清除緩存。 Mogrify更改文件的更新時間,所以這不是問題。問題是調整大小後,編譯的圖像文件名會發生變化,而網頁中的引用是舊的。我會更新回答以澄清問題 –
您清楚哪個緩存?確保你清除Rails.cache和瀏覽器緩存。沒有其他想法,對不起。 – Raffael