Domanda

vedo da carrierwave default non fa eliminare i file legati al modello. Come fare?

È stato utile?

Soluzione

Carrierwave dovrebbe rimuovere i file da S3 automaticamente per voi. Ho appena testato questo fuori su un'applicazione Rails 3.1.

Altri suggerimenti

È necessario chiamare

@image.destroy

non

@image.delete

Inoltre, utilizzare il pulsante di aggiornamento del pannello AWS S3

Non ho familiarità con carrierwave, ma in generale, agganciando nella after_destroy è probabile che ciò che si desidera.

class Model < ActiveRecord::Base
  after_destroy :delete_linked_file

  def delete_linked_file
    # Delete the linked file here
  end
end

Si, Si può fare in questo modo

def delete_image_folder
    FileUtils.remove_dir(File.join(Rails.root, File.join( 'public' , file_name.store_dir)), :force => true)  
end

ma solo ricordare che se è stata modificata la configurazione di radice Carrierwave, si dovrebbe prendere in considerazione (il valore predefinito è pubblico in modo tale codice funziona)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top