2016-07-15 26 views
0

auf NULL. Ich weiß nicht, wie ich das machen soll. Ich habe einen Tisch namens "Tiere". Dann kann ich ein Bild hinzufügen, um das Tier anzuzeigen.Aktiver Datensatz/Ruby on Rails -> Bild löschen, indem man auf den Link klickt: Setze die Anhangsspalten über

Ich benutze diese Aussage in der Form-Ansicht zum Ändern des Bildes:

f.file_field :attachment, :accept => 'image/jpeg' 

Wenn ich das Formular abzuschicken bekam ich eine gut aussehende Bild in meinem Show-View.

Wie ich schon sagte, ich kann das Bild leicht ändern, aber ich weiß nicht genau, wie man es löscht. In einer perfekten Welt, würde ich bevorzugen, ich drücke einen Link und das Bild wird nur gelöscht, aber der Rest der Tiere Attribute bleiben, so dass die folgenden Spalten auf Null gesetzt sind und die Datei wird vom Server gelöscht:

"attachment_file_name" "attachment_content_type" "attachment_file_size" "attachment_update_at" (soll wohl auf das aktuelle Datum oder auf NULL gesetzt werden)

Jede Hilfe apreciated.

+0

Verwenden Sie Büroklammer Juwel? – rneves

Antwort

1

Wenn Sie ein Büroklammer-Juwel verwenden, müssen Sie den Anhang auf Null setzen und speichern. Wie folgt aus:

@animal.attachment = nil 
@animal.save 

Mehr Infos here

In Ihrem Fall, wenn Sie einen Link zu entfernen, hinzufügen möchten, müssen Sie eine Route und eine Aktion erstellen, dies zu tun.

Ich empfehle, ein Kontrollkästchen in der Nähe des Dateifeldes hinzuzufügen und es bei update/create zu überprüfen.

+0

Danke für Ihre Antwort. Ja ich benutze Büroklammer - aber ich wusste nicht, dass ich es benutze - seit ich die Plattform übernommen habe (immer schwer, wenn du nicht der originale Programmierer bist). Jetzt half der Hinweis mit Büroklammer sehr. Aus diesem Grund fand ich einen weiteren Thread auf Stack Overflow wo das Problem diskutiert und gelöst wurde: http://stackoverflow.com/questions/4435826/rails-paperclip-how-to-delete-attachment <- Darauf basierend integrierte ich einen Check Box in meine Form, mit der es möglich ist, das Bild und alle Dateien vom Server zu löschen. Vielen Dank für Ihre Antwort und wies mich in die richtige Richtung! – Donselm