Загрузка нескольких файлов в приложение Ruby on Rails: первый файл не загружается - PullRequest
0 голосов
/ 10 августа 2010

Для моего приложения Ruby on Rails мне нужна возможность создавать несколько объектов LectureNote одновременно. Я пытался сделать это с таким видом:

<% form_for @lecture_note, :html => {:multipart => true} do %>
  <%= hidden_field_tag 'thematic_block_id', params[:thematic_block_id] %>
  <table>

    <% (1..8).each do |i| %>
    <tr>
      <td><%= file_field "new_lecture_notes[][file]", 'datafile', :accept => 'application/pdf' %></td>
      <td><%= text_field_tag "new_lecture_notes[][pages_per_sheet]", '', :size => 8 %></td>
      <td><%= check_box_tag "new_lecture_notes[][color]", "1" %></td>
      <td><%= select_date LectureNote.default_lecture_date, :order => [:day, :month, :year], :prefix => "new_lecture_notes[][lecture_date]" %></td>
    </tr>
    <% end %>
  </table>
  <%= submit_tag "Speichern" %>
<% end %>

Однако первый загруженный файл никогда не появляется в хэше params, второй файл появляется в том месте, где должен быть первый, и так далее. Если я поставлю text_field_tag ​​перед file_field, оно будет работать. Есть идеи почему?

1 Ответ

0 голосов
/ 26 августа 2010

Я взглянул на книгу «Расширенные рецепты Rails» и в их примере «Несколько моделей в одной форме» они используют методы fields_for и text_field вместо text_field_tag ​​и т. Д. Благодаря этому все заработало, хотя я по-прежнемуне уверен, почему вышеприведенная форма не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...