2017-04-10 36 views
1

我使用Rails 4.2.6和CarrierWave 1.0.0。我有一個上傳設置像這樣:CarrierWave文件沒有在生產中保存

class LetterUploader < CarrierWave::Uploader::Base 
    storage :file 
    def store_dir 
     "#{Rails.root}/public/uploads/#{model.id}" 
    end 
end 

在發展中,該文件保存就好了,在/公/上傳/等等,但在生產中,它不節能。它正在被緩存,/ tmp目錄中有一個文件,但實際上並未保存。我一直在尋找解決方案,而我似乎無法找到一個解決方案。我的直覺是,這是我的生產服務器中的一個文件夾權限問題,但我確定公用文件夾遞歸屬於我的用戶名,並沒有幫助。我甚至將權限設置爲777,無濟於事。我可以根據要求提供更多的信息(在控制器上或其他任何方面),任何幫助表示讚賞。

+0

你的'log/production.log'文件是否顯示任何內容?並且'uploads'文件夾是否公開存在? – nzajt

+0

該文件夾確實存在於公共場合。我有一個幫助方法將字母傳遞給api。生產日誌顯示的是,我從api傳遞文件時得到一個錯誤,因爲它實際上並沒有傳遞一個文件(因爲文件沒有保存)。 – DudeMontag

回答

1

這個問題不是CarrierWave的問題,而是上傳的文件直到保存它所連接的模型才存儲。我重新考慮了因此模型保存,將文件發送到其他api,然後更新原始模型,它的工作原理!

相關問題