Question

Je vois par carrierwave par défaut ne pas supprimer les fichiers liés au modèle. Comment le faire?

Était-ce utile?

La solution

Carrierwave devrait supprimer les fichiers de S3 automatiquement pour vous. Je viens de tester cela sur une application Rails 3.1.

Autres conseils

Vous devez appeler

@image.destroy

pas

@image.delete

Utilisez également le bouton de rafraîchissement sur le panneau de aws

Je ne suis pas familier avec carrierwave, mais en général, l'accrochage dans le after_destroy est probablement ce que vous voulez.

class Model < ActiveRecord::Base
  after_destroy :delete_linked_file

  def delete_linked_file
    # Delete the linked file here
  end
end

Oui, Vous pouvez le faire comme ceci

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

mais rappelez-vous juste que si vous avez changé la racine de configuration Carrierwave, vous devez prendre en compte (par défaut est public si ce code fonctionne)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top