#ruby-on-rails #ruby-on-rails-3.1 #carrierwave
#ruby-on-rails #ruby-on-rails-3.1 #carrierwave
Вопрос:
Я вижу, что мы можем использовать object.file.remove!
or object.remove_file!
для удаления файлов из S3, но object
все еще сохраняет .file
.
Я хочу установить object.file
значение nil или empty, потому что я хочу удалить файл из S3, но все еще хочу сохранить запись в своей базе данных (для целей статистики).
Комментарии:
1. Вы выяснили, как это сделать?
2. Нет … и я прекратил поддерживать проект, который использует carrierwave
3. Ха, понятно, значит ли это, что ты им больше не пользуешься? Является ли carrierwave ненадежным?
4. Нет, он по-прежнему надежен, мы просто завершаем проект.
Ответ №1:
Вы могли бы добавить другое поле в вашу файловую таблицу с именем expired. В методе, который удаляет файл из S3, используйте атрибут update_attribute для изменения поля с истекшим сроком действия. Если срок действия истек, равно true, тогда не разрешайте загрузку «файла».
Document.update_attribute(:expired, true)
Комментарии:
1. В настоящее время я работаю с этим решением, но это не ответ на вопрос. =]