0
我正在使用carrierwave處理我的上傳。我已經指定了store_dir方式如下:Carrierware:將文件存儲在目錄中accordint to created_at日期
def store_dir
"uploads/#{Time.now.year}/#{Time.now.month}/#{Time.now.day}"
end
上傳文件的工作就像一個魅力 - 每次我上傳文件時,它在目錄中,它應該結束結束;即「今天的目錄」。
當我嘗試下載文件時,carrierwave正在根據store_dir選項動態構建下載路徑。因此,可以說這是在2012年12月1日上傳的文件可以用fliesystem以下路徑:
/uploads/2012/12/01/file.ext
將carrierwave檢索爲:
/uploads/2012/12/12/file.ext
這顯然會導致「無法讀取文件「錯誤。
我帶着2個不同的可能的解決方案:
- 創建一個單獨的申請,我將存儲實際文件路徑的文件後,它的創造,然後將使用該值來檢索文件。
- 過載retrieve_from_store!方法(它是carrierwave gem的一部分),並使其基於created_at字段從文件記錄構建路徑,而不是從store_dir。
我傾向於第二種可能性,因爲它感覺不那麼髒。然而,兩人都覺得「不軌道」。哪一個會更好用,爲什麼?或者carrierwave提供瞭解決這個問題的方法?
非常感謝,就像一個魅力的工作。 – Ruslan