Wie Löschen Modell mit verknüpften Datei
-
11-10-2019 - |
Frage
Ich sehe standardmäßig carrierwave nicht Löschen von Dateien auf Modell verknüpft. Wie es zu tun?
Lösung
Carrierwave sollten die Dateien von S3 automatisch für Sie entfernen. Getestet habe ich ihn nur aus auf einer Rails 3.1 App.
Andere Tipps
Sie müssen rufen
@image.destroy
nicht
@image.delete
Nutzen Sie auch Refresh-Button auf aws s3 Panel
Ich bin nicht vertraut mit carrierwave, aber in der Regel in die after_destroy
Einhaken ist wahrscheinlich, was Sie wollen.
class Model < ActiveRecord::Base
after_destroy :delete_linked_file
def delete_linked_file
# Delete the linked file here
end
end
Ja, Sie können es wie folgt
tundef delete_image_folder
FileUtils.remove_dir(File.join(Rails.root, File.join( 'public' , file_name.store_dir)), :force => true)
end
aber nur daran erinnern, dass, wenn Sie die Carrierwave Konfiguration root geändert, können Sie es berücksichtigen sollte (Standard ist öffentlich so dass dieser Code funktioniert)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow