首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Refile + S3:删除附件并保留数据库记录

Refile + S3:删除附件并保留数据库记录
EN

Stack Overflow用户
提问于 2019-04-22 19:08:33
回答 1查看 42关注 0票数 0

我正在使用refile gem将文件上传到S3,并具有以下模型

代码语言:javascript
复制
class DataFile < ActiveRecord::Base
  attachment :document, destroy: true
end

数据库中的相应表具有用于保存文件元数据的列document_filenamedocument_id

我需要从S3中删除文件,并在数据库中保留相应的行(我需要能够显示该文件的名称和删除日期)。

我在试着做

代码语言:javascript
复制
data_file.document = nil
data_file.save()

但这会删除文件名。有没有从S3中删除文件并保留document_filename值的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-22 19:18:03

我会在相应的模型中定义两个新列,并复制数据以在删除时保留在那里。

这比保留格式错误的refile对象更加一致:

代码语言:javascript
复制
data_file.update_attributes!(
  file_name: data_file.document.filename,
  removed_at: DateTime.now,
  document: nil)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55793408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档