Вопрос

Я вижу по умолчанию CarrierWave не удаляет файлы, связанные с модели. Как это сделать?

Это было полезно?

Решение

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

Другие советы

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

@image.destroy

нет

@image.delete

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

Я не знаком с CarrierWave, но в целом зацепите after_destroy Вероятно, вы хотите.

class Model < ActiveRecord::Base
  after_destroy :delete_linked_file

  def delete_linked_file
    # Delete the linked file here
  end
end

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top