2011-10-18 27 views
2

我正在升級到rails 3.1,我需要將/ images目錄作爲/ assets的別名。這可能嗎?原因是我不希望我發送給客戶的電子郵件直接鏈接到/ images中的文件中斷。Rails 3.1:alias/images到/ assets目錄

這是可能在網絡服務器級別?我在nginx上。

回答

7

可以在nginx的

location /images { 
    alias /usr/share/rails_app/public/assets/images; 
} 

雖然我認爲當你運行

rake assets:precompile 

它會md5hash字符串添加到您的圖片更大的問題會做到這一點。該哈希字符串被添加到強制瀏覽器下載更改的圖像,因此它不使用瀏覽器緩存。由於圖像的名稱將會不同。使用nginx將舊映像託管在靜態目錄中可能更有意義。

+1

要修復MD5問題,您可以在編譯資產(在production.rb文件中)時刪除散列生成...它不是「推薦」,但它可能... – Hock

+0

使用Rails 3.1.1預編譯任務生成帶和不帶MD5的文件,僅用於此用例。在資產文件夾中設置遙遠的標題,但不是圖像文件夾。 –