2011-01-17 2 views

ответ

2

Carrierwave должен удалить файлы из S3 автоматически для вас. Я только что проверил это в приложении Rails 3.1.

+0

Похоже, что Carrierwave удалил файл, но не удаляет пустые каталоги. Я должен был застрять с помощью скрепки. – jspooner

0

Я не знаком с несущей волной, но, в общем, подключение к after_destroy, скорее всего, то, что вы хотите.

class Model < ActiveRecord::Base 
    after_destroy :delete_linked_file 

  def delete_linked_file 
    # Delete the linked file here 
    end 
end
+1

Похоже, что несущая волна должна справиться с этим сама по себе. https://groups.google.com/forum/?fromgroups#!topic/carrierwave/KUyXuQdYcFw. Но у меня тоже проблема: = (( –

1

Вам нужно позвонить

@image.destroy 

не

@image.delete 

использовать также кнопку обновления на AWS s3 панели

0

Да, Вы можете сделать это, как это

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

bu t просто помните, что если вы изменили корень конфигурации Carrierwave, вы должны принять его во внимание (по умолчанию это общедоступно, поэтому этот код будет работать)

Смежные вопросы