Dragonfly を使用して、一度に複数のファイルをアップロードして保存しようとしています。document_uid
モデルにanddocument_name
を追加することで、単一のファイルを正常にアップロードして保存することができましたが、オブジェクトcase
ごとに複数のファイルをアップロードする機能を作成したいので、テーブルへの FK を持つ独自のテーブルにandを含める必要があります。 .case
document_uid
document_name
case
現在、次のエラーが発生しています。Document(#70285786863740) expected, got ActionDispatch::Http::UploadedFile(#70285766684260)
アプリ/モデル/case.rb
class Case < ActiveRecord::Base
has_many :documents
attr_accessible :documents
end
class Document < ActiveRecord::Base
belongs_to :case
dragonfly_accessor :document # defines a reader/writer for an uploaded document
attr_accessible :document_uid, :document_name
end
見る
<%= form_for(@case) do |f| %>
...
<%= f.file_field :documents, :multiple => true %>
...
<% end %>
これまでのところ、コントローラーにデフォルトの作成メソッドがあります
# POST /cases
# POST /cases.json
def create
@case = Case.new(params[:case])
respond_to do |format|
if @case.save
format.html { redirect_to @case, notice: 'Case was successfully created.' }
format.json { render json: @case, status: :created, location: @case }
else
format.html { render action: "new" }
format.json { render json: @case.errors, status: :unprocessable_entity }
end
end
end
パラメータ:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"KAsjoqrQT5HTNKsiH6bu3+MRKB0FKDLdP2Q/Gm9ZYdA=", "case"=>{"documents"=>[#<ActionDispatch::Http::UploadedFile:0x007fd95ebe97d8 @original_filename="Screen Shot 2014-01-25 at 8.59.17 PM.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"case[documents][]\"; filename=\"Screen Shot 2014-01-25 at 8.59.17 PM.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<Tempfile:/var/folders/5w/tkmvdtbn2xn98hjy655s67tw0000gn/T/RackMultipart20140727-43998-1go1ez0>>, #<ActionDispatch::Http::UploadedFile:0x007fd95ebe9760 @original_filename="Screen Shot 2014-03-02 at 8.38.22 AM.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"case[documents][]\"; filename=\"Screen Shot 2014-03-02 at 8.38.22 AM.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<Tempfile:/var/folders/5w/tkmvdtbn2xn98hjy655s67tw0000gn/T/RackMultipart20140727-43998-1kefqe0>>]}, "button"=>""}
このエラーの原因と回避方法を教えてください。