上传照片载波

Uploading photos carrierwave

我正在尝试使用 Carrierwave 上传一系列照片。

编辑:这些是在 Postman 中修复数组 + 更改控制器后更新的文件

这是控制器:

class PhotoController < ApplicationController
  def upload_multiple
    photos_params.each do |uploaded_photo|
        @current_user.photos.create(:photo => uploaded_photo)
    end
    render json: {
      status: @current_user.photos.last.photo.inspect,
    }, status: 200
  end

  def photos_params
    params.permit(:photos => [])
  end
end

这是 photo.rb 照片的模型文件:

class Photo < ApplicationRecord
  belongs_to :user
  mount_uploader :photo, PhotoUploader
end

在 user.rb 我有

has_many :photos

在上传器中,唯一未注释的行是:

class PhotoUploader < CarrierWave::Uploader::Base

  storage :file

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

在 Postman 中,这是我上传文件的方式:

现在正在数据库中保存记录,但根本没有上传图片。上传目录为空

我做错了什么?

当只是循环 photo_params 时,它无法正常工作,因为图像应该在 photo_params["photos"].

中循环

尝试将代码更改为:

def upload_multiple
  def upload_multiple
    photos_params["photos"].each do |uploaded_photo|
        @current_user.photos.create(:photo => uploaded_photo)
    end
    render json: {
      status: @current_user.photos.last.photo.inspect,
    }, status: 200
  end

  def photos_params
    params.permit(:photos => [])
  end
end