0

我在我的rails應用程序中有一個靜態視頻。我有兩個副本:一個存儲在assets/videos中,一個存儲在public中。由於某些原因,存儲在assets文件夾中的視頻比存儲在public文件夾中的視頻加載速度慢得多。資產vs公開靜態視頻

  1. 有誰知道爲什麼?
  2. 最佳做法是什麼?將它放在public中是不好的做法嗎?

回答

2

有誰知道爲什麼?

因爲public文件夾是第一個服務傳入請求的地方。如果文件夾/文件沒有在該文件夾中找到,它將被轉發到導軌。

最佳實踐是什麼?把它公諸於衆是不好的做法?

它取決於。如果你想使用rails功能,比如訪問視頻文件夾assets_path,或者可能像使用一些rails腳本將視頻從一種格式轉換爲兩種視頻,或者您想將視頻限制在某些國家或人羣/用戶,那麼您應該將其放在public文件夾中。 就是這樣。

+0

這是一個非常有趣的關於限制視頻的考慮點。感謝你的回答! – Dol

1

資產目錄,如果你想利用 資產管道的優勢時,才需要資產管道將 壓縮和編譯.coffee和.less或sass文件的內容處理爲 將js和css壓縮成一個文件,因此您的web服務器只有 爲每個文件提供一個文件。

當你用編譯你的資產「rake任務包的exec耙資產:預編譯」,他們被轉移到你的公開目錄無論如何

入住此評論https://stackoverflow.com/a/8581316/1231365

所以最好保持您的視頻在公用文件夾中。

+0

這兩個答案都非常好。您提出了關於視頻和預編譯的一些非常好的觀點。謝謝。 – Dol