Rails 4:在保存模型之前将附件上传到Amazon S3

时间:2013-08-28 11:29:35

标签: ruby-on-rails ruby-on-rails-3 amazon-s3

我有一个功能,用户可以添加Notes,每个笔记都可以有多个文件附件。

当用户点击“上传附件”时,该文件会立即开始上传到Amazon S3(在用户实际保存该笔记之前)。这一切都是用AJAX完成的。

确保这些AmazonS3文件最终链接到注释(提交注释时)或丢弃(如果注释不是)的最佳方式(流程)是什么?没救?

1 个答案:

答案 0 :(得分:1)

我可以想到两种方法:

  1. 继续保存注释,但在模型上有一列可以告诉您它是否是临时的。如果用户单击“保存”,则将该列从临时更改为永久。如果你想这样做,你可以在后台运行一个rake任务来清除超过一天的临时笔记等。

  2. 在图片的文件名中加入某种引用。您无法使用ID,因为它还不存在,但您可能还有其他唯一标识符,例如用户名和帖子标题的组合。

  3. 如果你可以做第一个选项,我说它更可取。它为您提供了一个唯一的注释ID,其明确目的是可以在外部引用注释。