[英]Rails file storage with generate/download/upload and state
我的網絡平台可幫助我們的協會管理項目。 該平台會自動生成許多文檔,然后我們的成員將生成它們,並最終下載-檢查-重新上傳它們。 我們還需要跟蹤不同的信息,例如簽名日期,閱讀日期等。
當前,基類用於表示此類文檔,然后繼承該基類以定義我們使用的每種文檔類型(例如,文檔是否可以自動生成,可以上載等)。 這些文件需要存儲在rails app文件夾之外。 在每個繼承的類中都定義了完整的文件名/路徑/生成
有回形針/載波實現這一目標的簡便方法嗎? 還是我應該自己實現(最終從上述寶石的源代碼中得到一些啟發?)
恐怕這些寶石對於我想做的事情可能太有限了。 例如:當自動生成文件時,最終現有文件將被覆蓋,這是否可能與回形針/載波混在一起? 還是我需要做一些額外的事情才能使其按預期工作?
注意:我正在將rails 4.1與mongoid一起使用。
因此,我決定使用Carrierwave。 正如我預期的那樣,僅使用其他gem生成文件是不夠的,因為這樣就無法識別它們。
因此,在我的控制器中,在生成文件之后,我必須明確地告訴載波在相同位置覆蓋相同文件:
def generate_document
if @doc.generate_document # Generate the file and store it
flash.notice = "Sir yes sir ! #{t(@doc.human_name)} successfully generated !"
# Must do this because otherwise file isn't recognised by carrierwave :
@doc.document_file = File.open(@doc.full_path)
@doc.save!
else
flash.alert = "Krap, it failed..."
end
redirect_to ...
end
其中document_file是mount_uploader :document_file, DocumentFileUploader
我的文檔類的mount_uploader :document_file, DocumentFileUploader
除非有人提供更好的答案,否則我將選擇我的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.