Ruby on rails 如何创建一个Rails表单来批量创建记录,每个记录都包含一个直接上传到S3的活动存储附件?

Ruby on rails 如何创建一个Rails表单来批量创建记录,每个记录都包含一个直接上传到S3的活动存储附件?,ruby-on-rails,rails-activestorage,Ruby On Rails,Rails Activestorage,我有一个Ruby on Rails应用程序,它允许使用活动存储直接上传创建记录,如下所述: 一切正常。现在,我想有一种方法来建立批记录创建也使用直接上传,但似乎无法找出最好的方法 假设我有一个名为HomeMovie的模型,具有各种属性和视频附件。我希望能够一个接一个地填写多个HomeMovie表单,单击提交一次,然后开始上载每个表单的大附件,然后就可以离开了。在我目前的设置中,一次做一个,这些大型附件需要花费太长时间,需要经常照看孩子。非常感谢您的帮助 我正在使用Rails 5.2.3如何使用S

我有一个Ruby on Rails应用程序,它允许使用活动存储直接上传创建记录,如下所述:

一切正常。现在,我想有一种方法来建立批记录创建也使用直接上传,但似乎无法找出最好的方法

假设我有一个名为HomeMovie的模型,具有各种属性和视频附件。我希望能够一个接一个地填写多个HomeMovie表单,单击提交一次,然后开始上载每个表单的大附件,然后就可以离开了。在我目前的设置中,一次做一个,这些大型附件需要花费太长时间,需要经常照看孩子。非常感谢您的帮助


我正在使用Rails 5.2.3

如何使用Sidekiq设置某种微服务/作业,使您能够将视频基本上设置为单个作业

基本上,您的逻辑将创建异步作业来处理附件的处理;然后就是正确设置循环的问题

循环示例

def bulk_insert(videos) #with videos being an array or collection
  videos.each do |vid|
   #do whatever processing and record creation, then
   VideoProcessJob.perform_async(vid["attachment_key"])
  end
end
工作实例

class VideoProcessJob(video_attachment)
  #assumes a service/module for processing the videos
  VideoProcessor.new(video_attachment).process_video_attachment_logic
end

我的问题更多的是如何提交一个包含多条记录的表单,在提交过程中也使用直接上传。保存记录后,使用您建议的后期处理作业应该会起作用。关于如何让直接上传js以这种方式工作,有什么想法吗?目前,在表单上单击submit会初始化直接上传,并且在附件上传到S3完成之前不会实际提交记录进行保存。我感谢你的建议。