首页 > 解决方案 > 有没有办法让多个文件上传变成多个模型

问题描述

所以我有一个名为 Photo 的模型,显然我不想一次上传一张照片,所以我用多文件上传替换了新的照片表单。我不太确定如何使这些文件上传变成独特的照片模型。

<%= bootstrap_form_with(:model => photo, :local => true) do |form| %>
    <%= form.file_field :image, :multiple => true, :direct_upload => true %>
    <%= form.submit %>
<% end %>

编辑:我在 Rails 6.0.0 rc2 上使用 Active Storage

标签: ruby-on-rails

解决方案


您不能制作多个照片模型。您可能是指多条记录。模型是数据库中表的蓝图。

提交表单时检查终端日志,您可能会在参数中看到类似的内容: photo => [ files here ]

因此,在您的控制器创建中,您必须遍历数组并为每张照片创建一个照片记录,如下所示:

def create
  params[:photo].each do |photo|
  Photo.create(file: photo.file)
end

推荐阅读