![](/img/trans.png)
[英]Multiple upload file using React, Ruby on rails 5 and CarrierWave
[英]Ruby on Rails: multiple file upload with carrierwave
我已經在我的ruby on rails app上為我的用戶實現了文件上傳。 每個用戶都可以上傳一個xml文件,但現在我試圖用多個文件來做,但是我遇到了一些問題。 任何人都可以舉例說明如何升級我的代碼?
我已經可以上傳多個文件,我可以在數據庫中看到它們,但如果我上傳更多(例如1),他會覆蓋以前的文件。 我如何列出所有用戶文件?
編輯:
我需要每次只上傳一個文件(沒有倍數:true)。 我的目標是在用戶上傳文件后添加更多文件 。
文檔摘錄。
添加一個可以存儲數組的列。 例如,這可以是數組列或JSON列。 您的選擇取決於您的數據庫支持的內容。 例如,創建一個這樣的遷移:
rails g migration add_avatars_to_users avatars:json
rake db:migrate
打開模型文件並安裝上傳器:
class User < ActiveRecord::Base
mount_uploaders :avatars, AvatarUploader
end
確保將文件輸入字段設置為多個文件字段。 例如在Rails中你會想要做這樣的事情:
<%= form.file_field :avatars, multiple: true %>
此外,請確保您的上傳控制器允許多文件上載屬性,指向散列中的空數組。 例如:
params.require(:user).permit(:email, :first_name, :last_name, {avatars: []})
現在您可以在上傳對話框中選擇多個文件(例如SHIFT + SELECT),並在保存記錄時自動存儲它們。
u = User.new(params[:user])
u.save!
u.avatars[0].url # => '/url/to/file.png'
u.avatars[0].current_path # => 'path/to/file.png'
u.avatars[0].identifier # => 'file.png'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.