簡體   English   中英

帶有生成/下載/上傳和狀態的Rails文件存儲

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM