簡體   English   中英

PaperClip:一個用於多個文件上傳的數據庫條目

[英]PaperClip: one database entry for multiple file uploads

例如,我以相同的形式上傳了兩個文件A和B,回形針將兩個條目插入數據庫。

有沒有一種方法可以強制回形針僅創建一個數據庫條目並將其插入兩個不同的字段(例如,file_name_A,file_name_B,file_size_A,file_size_B ....)?

更新

在我的submission.rb中:

attr_accessible :id, :email, :uploads_attributes
has_many :uploads, :dependent => :destroy
accepts_nested_attributes_for :uploads, :allow_destroy => true

在我的upload.rb中

belongs_to :submission
attr_accessible :id, :user_id, :package_a_file_name, :package_a_file_size, :package_b_file_name, :package_b_file_size, :updated_at
has_attached_file :package

您的模型建立方式沒有任何問題。 如果您希望更改要求,則將多個上載存儲在一個單獨的模型中可以更輕松地保持正常運行。

您僅在upload.rb中指定了一個附件文件,這就是為什么它為每個上載插入一個單獨的條目的原因。 指定隨機的attr_accessibles不會做任何事情,這些字段甚至不存在。

可以完全刪除上傳模型,而直接將上傳內容存儲在提交中:

Submit.rb

has_attached_file :package_a
has_attached_file :packabe_b

這會將上傳內容存儲在與提交關聯的單個行中。 這是不可擴展的。

我不會像上面那樣以不可縮放的方式在您的上傳模型中存儲多個上傳,從OOP的角度來看,這在邏輯上是沒有道理的。

總而言之,我認為您現在設置它的方法是最好的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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