使用carrierwave在cloudinary上上传多个图像,并从视图中存储数据库中的条目

时间:2016-03-18 07:25:54

标签: ruby-on-rails-4

我有一个product_image模型,卖家控制器和卖家以及一个视图文件 我在这里给你发送我的代码

product_image.rb

class ProductImage < ActiveRecord::Base
  belongs_to :product
  mount_uploader :image, ImageUploader
end

seller_controller.rb

def add_products

    params[:image].each do |image|
      ProductImage.create(image: image)
    end
    # byebug
    redirect_to request.referrer
  end

视图

<%= form_tag add_seller_products_path, method: "get", validate: true,html: {multipart: true}  do %>
<%= file_field_tag "image[]", class: "pro-img", multiple: true, accept: "image/jpeg, image/jpg, image/gif, image/png", name: "image[]" %> 
<% end %>

2 个答案:

答案 0 :(得分:0)

我解决了我的问题的一部分:我用json更改了image列的数据类型,并在数组中收到了强参数,如{image:[]},但是通过这样做,图像名称被存储进入数据库表,其原始名称不是以云加密形式,而是不存储在cloudinary中。 所以请有人告诉我如何解决这个问题。

答案 1 :(得分:-1)

您可以查看以下示例项目,在Rails + CarrierWave项目上演示Cloudinary的多个上载支持: https://github.com/taragano/Cloudinary_multiple_uploads