Paperclip::AdapterRegistry::NoHandlerError, использование fields_for и частичного

в настоящее время изображение возвращает только строку. Я узнал, что это вызывает ошибку из этого вопроса: Исключение скрепки: Paperclip::AdapterRegistry::NoHandlerError

Вот текущие параметры, которые я вижу: Параметры:

{"utf8"=>"✓",
 "_method"=>"put",
 "authenticity_token"=>"SlvvynUVZCqV4fC3L8Dp1UM9IhDeihko44CFVyamxMU=",
 "examples"=>{"66"=>{"image"=>"Ambition flyer 2 (1).jpg",
 "description"=>"THis is a photo and what not"},
 "67"=>{"description"=>""}},
 "commit"=>"Submit",
 "collection_id"=>"19"}

Как заставить :image возвращать что-то вроде этого в параметрах (из другого поста):

"asset"=>
  {"image"=>
    #<ActionDispatch::Http::UploadedFile:0x000000056679e8
    @content_type="image/jpg",
    @headers= "Content-Disposition: form-data; name=\"asset[image]\";
      filename=\"2009-11-29-133527.jpg\"\r\nContent-Type: image/jpg\r\n",
    @original_filename=""2009-11-29-133527.jpg"",
    @tempfile=#<File:/tmp/RackMultipart20120619-1043-yvc9ox>>}

**В настоящее время у меня есть это в **edit_individual.html.erb****

<h2>Editing <%= @collection.title %> Collection</h2>
<%= form_tag update_individual_collection_examples_path, :method => :put do %>
  <% for example in @examples %>
    <%= fields_for "examples[]", example do |f| %>
      <h2></h2>
      <%= render 'pic-upload', :html => { multipart: true }, :f => f, :example => example %>
    <% end %>
  <% end %>
  <p><%= submit_tag "Submit" %></p>
<% end %>

и это в моем _pic-upload.html.erb частичном:

<table>
    <tr><td><%= image_tag example.image.url, size: "300x300" %></td>
        <td><%= f.label :image, "Upload picture" %></td>
        <td><%= f.file_field :image %></td>
        <td><%= f.label :description, "Description (Optional)" %></td>
        <td><%= f.text_area(:description, size: "50x3") %></td>
    </tr>
</table>

<% end %>

Решение Добавьте :multipart => true соответствующий form_tag:

<%= form_tag(update_individual_collection_examples_path, :method => :put, :multipart => true) 

Здесь важен синтаксис. Тег form_tag должен включать (круглые скобки вокруг методов).

Ресурс http://www.saalonmuyo.com/2010/01/27/using-form_tag-in-ruby-on-rails/


person dngoo    schedule 27.08.2013    source источник
comment
Решено! Эта статья действительно полезна для объяснения form_for и form_tag. У меня была многочастная истина не в том месте. Предполагалось, что это будет в form_tag. Будет включать обновление и ресурс выше.   -  person dngoo    schedule 27.08.2013