Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4:在保存模型之前将附件上载到AmazonS3_Ruby On Rails_Ruby On Rails 3_Amazon S3 - Fatal编程技术网

Ruby on rails Rails 4:在保存模型之前将附件上载到AmazonS3

Ruby on rails Rails 4:在保存模型之前将附件上载到AmazonS3,ruby-on-rails,ruby-on-rails-3,amazon-s3,Ruby On Rails,Ruby On Rails 3,Amazon S3,我有一个功能,用户可以添加注释,每个注释都可以有多个文件附件 当用户单击“上传附件”时,文件立即开始上传到AmazonS3(在用户实际保存注释之前)。这一切都是用AJAX完成的 确保这些AmazonS3文件最终链接到便笺(提交便笺时)的最佳方式(流程)是什么?如果便笺未保存,则确保这些文件最终链接到便笺(提交时)还是丢弃 继续并保存注释,但是在模型上有一列,告诉您它是否是临时的。如果用户单击“保存”,则将该列从临时更改为永久。如果您想这样做,可以在后台运行rake任务来清除超过一天的临时便笺等

我有一个功能,用户可以添加注释,每个注释都可以有多个文件附件

当用户单击“上传附件”时,文件立即开始上传到AmazonS3(在用户实际保存注释之前)。这一切都是用AJAX完成的


确保这些AmazonS3文件最终链接到便笺(提交便笺时)的最佳方式(流程)是什么?如果便笺未保存,则确保这些文件最终链接到便笺(提交时)还是丢弃

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

  • 在图像的文件名中添加某种引用。您不能使用id,因为它还不存在,但您可能有其他唯一标识符,例如用户名和文章标题的组合


  • 如果你能做第一个选择,我会说它更可取。它为便笺提供了一个唯一的ID,其明确目的是使外部引用便笺成为可能。

    我可以想出两种方法:

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

  • 在图像的文件名中添加某种引用。您不能使用id,因为它还不存在,但您可能有其他唯一标识符,例如用户名和文章标题的组合

  • 如果你能做第一个选择,我会说它更可取。它为便笺提供了一个唯一的ID,其明确目的是使您能够从外部引用便笺。

    我喜欢#1的想法。我在想,但我只是想确保这是正确的方法!谢谢:)我喜欢这个主意。我在想,但我只是想确保这是正确的方法!谢谢:)