Pregunta

veo por carrierwave por defecto no borrar archivos vinculados al modelo. ¿Cómo hacerlo?

¿Fue útil?

Solución

Carrierwave debe eliminar los archivos desde S3 automáticamente. Acabo de probar esto en una aplicación Rails 3.1.

Otros consejos

Es necesario llamar

@image.destroy

no

@image.delete

También utilice el botón de actualización en el panel de AWS S3

No estoy familiarizado con carrierwave, pero en general, enganchando en el after_destroy es probable que lo que desea.

class Model < ActiveRecord::Base
  after_destroy :delete_linked_file

  def delete_linked_file
    # Delete the linked file here
  end
end

Sí, Puede hacerlo de esta manera

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

Pero recuerda que si ha cambiado la configuración de la raíz Carrierwave, usted debe tomar en cuenta (por defecto es público por lo que este código funcionará)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top