我正试图从编辑器插件中保存一个图像。参数为:
<ActionController::Parameters {"file"=>[#<ActionDispatch::Http::UploadedFile:0x00007fa78416dfe0 @tempfile=#<Tempfile:/var/folders/gt/k_vyp2g13zl7l89pzl9y44vc0000gp/T/RackMultipart20200918-91605-ob1sq1.jpg>, @original_filename="folk.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name="file[]"; filename="folk.jpg"rnContent-Type: image/jpegrn">], "controller"=>"admin/medias", "action"=>"create"} permitted: false>
所以在我的行动中,我用附件建立了我的记录
@media = Media.new
@media.file = params[:file]
# @media.file.attach params[:file] # same error
@media.save!
我得到错误:
ArgumentError Exception: Could not find or build blob: expected attachable, got [#<ActionDispatch::Http::UploadedFile ..
如何将提交的文件附加到@media记录?
提交的params[:file]
是一个文件数组。
如果编辑器确实可以上载多个图像,请确保将Media
类配置为使用has_many_attached
而不是has_one_attached
。
如果只上传一个图像,请更改编辑器或使用数组中的第一个项。