上传照片载波
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
我正在尝试使用 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