Gem 使用 carrierwave 如何做多文件上传,表单处应该如何填写

nicetyler · 2017年09月05日 · 最后由 xofred2 回复于 2017年09月13日 · 1560 次阅读

我用 carrierwave 做多文件上传,不知道前端视图页面应该如何编写,代码如下: 首先是创建了一个 photo_uploader 模型 接着我在 product 模型里面添加如下代码

# 文件上传
mount_uploaders :photos,PhotoUploader
serialize :photos,JSON

在 products 控制器中添加如下代码

def product_params
  params.require(:product).permit(:code,:type_id,:name,:description,:status_id,
                                  :feature,:create_user_id,:update_user_id,:version,{photos:[]})
end

form 表单我是这样写的

<div class="form-group">
  <%= f.label :photos, "图片上传" %>
    <%= f.file_field :photos[0], multiple: true %>
  <%= f.hidden_field :photos_cache %>
</div>

这个表单应该怎么写

之前项目的做法是,分多次上传,同一个 action 处理

params.require(:product).permit(:photo)

form 类似

<%= form_for :product, { class: "form-group", multiple: true } do |f| %>
  <%= f.file_field :photo %>
<% end %>

这样的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号