我正在使用refile
gem 将文件上传到S3
并具有以下模型
class DataFile < ActiveRecord::Base
attachment :document, destroy: true
end
数据库中的相应表具有document_filename
列和document_id
列以保存文件元数据。
我需要从S3
中删除文件并将相应的行保留在数据库中(我需要它才能显示该文件的名称和删除日期(。
我正在尝试做
data_file.document = nil
data_file.save()
但这会删除文件名。是否有解决方案可以从S3中删除文件并保留document_filename
值。
我会在相应的模型中定义 2 个新列,并在删除后复制数据以保留在那里。
这比保留格式错误的refile
对象更一致:
data_file.update_attributes!(
file_name: data_file.document.filename,
removed_at: DateTime.now,
document: nil)