2016-04-12 11 views
1

Ich habe den Cocoon-Edelstein richtig eingerichtet und alles funktioniert gut, ich kann Bilder wie erforderlich hochladen, aber wenn ich auf Entfernen klicke, scheint es das Bild nicht zu entfernen. Hier ist mein Code:Cocoon Gem kann verschachteltes Feldbild nicht entfernen

_image_fields.html.erb

<div class="nested-fields"> 
    <%= f.text_area :description %> 
    <%= f.file_field :picture %> 
    <%= link_to_remove_association "remove", f %> 
</div> 

hier ist meine Form:

<div class="imagefield"> 
    <h2>Images</h2> 
    <h4>upload images</h4> 
     <hr> 
     <div class="customgap"> 
     <div class="images"> 
      <%= f.fields_for :images do |image| %> 
      <%= render 'image_fields', f: image %> 
      <% end %> 
      <div class="links"> 
      <%= link_to_add_association 'add image', f, :images %> 
      </div> 
     </div> 
     </div> 
    </div> 

in Controller:

images_attributes: [:id, :description, :picture, :_destroy] 

Bild Modell

class Image < ActiveRecord::Base 

    has_attached_file :picture, styles: { medium: "300x300>", thumb: "100x100>" } 
    validates_attachment_content_type :picture, content_type: /\Aimage\/.*\Z/ 
end 
+2

Wenn Sie für ein Bild entfernen klicken, wird schließlich ein param namens _destroy gepostet wird, so in Ihrem Controller starke params, tun Sie haben: _destroy als weißen Liste param enthalten für images_attributes? – hypern

+0

@hypern Ich habe die images_attributes –

+1

Ich sehe keinen sofortigen Fehler, können Sie einen Fehler in der Rails Logfile ('log/development.log') sehen? Andernfalls könnte es hilfreich sein, uns zu zeigen, was auf dem Controller gepostet wurde. – nathanvda

Antwort

1

Ich hatte in der Steuerung :allow_destroy => true

accepts_nested_attributes_for :images, :allow_destroy => true 
Verwandte Themen