Frage

Ich sehe standardmäßig carrierwave nicht Löschen von Dateien auf Modell verknüpft. Wie es zu tun?

War es hilfreich?

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

tun
def 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
scroll top