在Ruby on Rails的引導到資產管道,它說爲什麼我應該使用資產管道來提供圖片?
下公衆的任何資產將擔任由 應用程序或Web服務器靜態文件。您應該使用應用程序/資產來處理 在提供服務之前必須進行一些預處理的文件。
http://guides.rubyonrails.org/asset_pipeline.html
對我來說,這是說的圖像應保存在公共目錄,因爲他們可以通過我的Web服務器靜態地提供,不需要預處理。
將您的圖片放入assets/
有什麼好處?
在Ruby on Rails的引導到資產管道,它說爲什麼我應該使用資產管道來提供圖片?
下公衆的任何資產將擔任由 應用程序或Web服務器靜態文件。您應該使用應用程序/資產來處理 在提供服務之前必須進行一些預處理的文件。
http://guides.rubyonrails.org/asset_pipeline.html
對我來說,這是說的圖像應保存在公共目錄,因爲他們可以通過我的Web服務器靜態地提供,不需要預處理。
將您的圖片放入assets/
有什麼好處?
資產預編譯將獨特的哈希值附加到圖像文件名,它允許用戶獲取它的最新版本,儘管服務器上存在緩存或過期設置。當您想要更改網站設計中的圖像時,這非常有用。
你不想爲圖像使用/assets/images
什麼不太可能改變(如用戶上傳)。
確實,你不希望爲用戶上傳使用'/ assets/images'。然而,即使您不希望它們發生變化(例如,徽標),仍然可以將其用於所有自己的圖像。使用不同的文件夾只會使您的設置過於複雜,沒有任何優勢。 – jokklan
因爲這會損害資產管道的多功能性。
在通過資產管道提供圖像的情況下,如果更改資產管道(例如,將文件上傳到S3),則必須通過其他任務同步圖像。
可能還有其他更深層次的原因,但那是什麼讓我停下來的。
編輯: 附註:在生產中要歸功於資產:預編譯來自/ assets /的所有內容將由公共服務器提供。
@ gmoore-自己也想知道同樣的事情。我正在考慮的另一件事 - MD5-哈希文件名會使圖像文件的名稱有些模糊,這可能會讓您的圖像被Google編入索引而受到傷害? – Yarin