当前位置: 首页 > 知识库问答 >
问题:

Cloudinary如何更新/编辑数组中的图像

方坚壁
2023-03-14

我按照Cloudinary.com上的教程将多个(产品)图像上传到Cloudinary。当我添加一个新产品和上传一个新图像时,它工作得很好。当我试图编辑/更新产品时,我希望它将新图像添加到图像数组中,但我得到了错误:

在我的development.log中:

启动127.0.0.1的修补程序“/admin/products/3”,地址为2018-05-04 09:35:12+0200,由admin处理::productsController#更新为HTML参数:{“UTF8”=>“”用户“。”ID“=$1按”用户排序。”ID“ASC限制$2^[[0$^[[1m^[[36Mproduct Load(0.6ms)^[[0m^[[1m^[[34mselect”products“。*从”products“中选择”products“,其中”products“。”active“=$1和”products“。”ID“3^[[0m[[”图像“,$^[[1m^[[35m(2.9ms)^[[0m^[[1m^[[35mcomm^[[35mcomm^[[0m在21毫秒内完成500个内部服务器错误(ActiveRecord:5.2ms)

NoMethodError(“image/upload/v1525416518/t50yzb4cjtdnlyae4zx2.jpg”的未定义方法`reject':string):

app/controllers/admin/products_controller.rb:29:在`update'中

即使我没有上传一个新的图像文件,我仍然得到错误。我想我在建立Cloudinary时做错了什么...

下面是我的设置:

首先,我在我的gemfile中添加了gems

gem 'carrierwave', github:'carrierwaveuploader/carrierwave'
gem 'cloudinary'

然后创建了cloudinary.yml文件,在其中添加了cloud_name、api_key和api_secret。

在我的ProductsController中,我将图像设置为数组图像:[]:

def update
 @product = Product.find(params[:id])
 if @product.update_attributes(product_params)
   redirect_to admin_products_path
 else
   redirect_to admin_products_path
 end
end

private

 def product_params
  params.require(:product).permit(:name, :description, :price, :supply, :shipping_amount, :active, :product_number, images: [] )
 end
end
<%= f.file_field :images, type: :file, multiple: true %><br />

编辑:我发现的另一件事是,当我检查页面时,有一个混乱的链接:

http://res.cloudinary.com/dzidt5Gxk/raw/upload/v1/%5b%22%5b%5c%22image/upload/v1525416518/t50yzb4cjtdnlyae4zx2.jpg____

链接应该是什么:http://res.cloudinary.com/dzidt5Gxk/image/upload/v1525416534/exhgstwb354t4l6rqvmh.jpg

在rails控制台中,它还显示images数组被搞乱了:

<Product id: 3, name: "Ananas", images: "[\"[\\\"image/upload/v1525416518/t50yzb4cjtdnlyae4zx2...", product_number: "342342">]>

共有1个答案

山乐生
2023-03-14

根据Carrierwave文档:

此外,确保上传控制器允许多文件上传属性,指向散列中的空数组。例如:

params.require(:user).permit(:email,:first_name,:last_name,{avatars:[]})

 类似资料:
  • 我有一个带有可删除行和列的dash DataTable对象。我想根据可见行更新图形。我不确定如何创建回调以及要传递哪些参数。在浏览器中删除行时,表对象中存储的数据实际上可能不会更改。

  • 问题内容: 可能是一个新手问题,请耐心等待。 我有一个Django表单,可以编辑模型的特定实例。为了知道正在编辑哪个对象,我有一个包含对象ID的隐藏字段以及包含ID的URL。 第一个问题:在隐藏字段中包含对象的ID是否正确? 我(可能是毫无根据的)担心仅将其作为URL的一部分,然后有人可以打开一个对象ID的页面,将表单提交给另一个对象,然后该对象将被覆盖。这就是为什么我要使用隐藏字段的原因。 将I

  • 了解如何在 Dreamweaver 中编辑、更新和删除模板以及更新 Contribute 站点中的模板。 更改并保存一个模板以后,基于该模板的所有文档都将被更新。也可以手动更新基于模板的文档;如有必要,还可以手动更新整个站点。 注意:要编辑 Contribute 站点的模板,必须使用 Dreamweaver,不能在 Contribute 中编辑模板。 使用“资源”面板的“模板”类别可以管理现有模板

  • 我有一个以下格式的mongodb文档。如何基于父属性_id更新数组中第一个元素的rolename字段。

  • 下面是一个动态数组。现在我想为“BHD0000000002”编辑一个特定的数组。我通过ajax请求获得以下数组。但是,我无法编辑内部数组元素。例如,我试图编辑键“BHD0000000002”的内部数组值,但无法解决问题。有人能帮忙吗,先生/女士? 这是原始数组: : 到目前为止,我已经尝试了以下代码,但它不起作用。有人能帮忙吗?

  • 问题内容: 这是我的 JSON 我需要升级到基于 如何在PHP中实现呢? 问题答案: 首先,您需要对其进行解码: 然后更改数据: 然后重新编码并将其保存回文件中: