2016-05-25 3 views
0

私はRuby on Railsアプリケーションで自分のユーザーにファイルアップロードを実装しました。各ユーザーはxmlファイルをアップロードできますが、今は複数のファイルでそれをやろうとしていましたが、いくつか問題があります。誰かが私のコードをアップグレードする方法の例を教えてもらえますか?Ruby on Rails:複数のファイルを搬送波でアップロード

私はすでに複数のファイルをアップロードすることができますが、私はそれらをDBで見ることができますが、アップロードすると(たとえば1)、前のファイルを上書きします。そして、どのように私はすべてのユーザーファイルを一覧表示できますか?

EDIT:

私は(複数なし:真)ごとに1つだけのファイルをアップロードする必要があります。 私の目的は、ユーザーがをアップロードした後にさらにファイルを追加することです。

+0

のドキュメントを参照してくださいは、MySQLの新しいバージョンに – Sebin

答えて

0

Documentation抜粋

配列を格納できる列を追加します。これは、たとえば配列列または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' 
+0

これだけ作品をhttps://github.com/carrierwaveuploader/carrierwave#multiple-file-uploads。古いバージョンでは、私たちはアソシエーションを介してそれを行う必要があります – Ccr

+0

私はそれをしましたが、私はもっとアップロードする必要がある場合、古いものを上書きします – terrorista

関連する問題