1

複数のファイルのアップロードに取り組んでいますが、フォームとコントローラーの間でパラメーターを正しく渡していない-何が欠けているのかよくわかりません。

フォームは非常に単純です。

<%= form_tag({:controller => :admins, :action => :upload_json}, {:multipart => true, :method => :post, :html => { :class => "form-horizontal"}}) do %>

  <fieldset>
    <legend>Data</legend>
    <ol class="field-list">
      <li>
        <label for="data-file">JSON File</label>
        <%= file_field_tag 'jsonfileupload', multiple: true %>
      </li>
    </ol>


    <div class="form-actions">
      <%= submit_tag "Upload" %>
    </div>

  </fieldset>

<% end %>

コントローラーでは、何が渡されたかを確認するためにこれを実行しています。

@output = params[:jsonfileupload]

ビューでは、debug何が返されるかを確認するためにaを実行するだけで、選択したファイルのセットの最後のファイルのみがプルされます。

#<ActionDispatch::Http::UploadedFile:0x007f95d0c21010 @original_filename="4987.json", @content_type="application/json", @headers="Content-Disposition: form-data; name=\"jsonfileupload\"; filename=\"4987.json\"\r\nContent-Type: application/json\r\n", @tempfile=#<File:/var/folders/0p/6lq88m950mgftng1qm1w63_8000194/T/RackMultipart20121114-389-t9l7vs>>

選択したすべてのファイルを返すために何が欠けているのかわかりません。助けてくれてありがとう!

4

1 に答える 1

7

を次のように調整することで、これを解決できましfile_field_tagた。<%= file_field_tag 'jsonfileupload[]', multiple: true %>

于 2012-11-20T14:09:10.893 に答える