Image 使用一个多文件选择输入可以使用回形针上载多个文件吗?

Image 使用一个多文件选择输入可以使用回形针上载多个文件吗?,image,ruby-on-rails-3.1,paperclip,Image,Ruby On Rails 3.1,Paperclip,所以我在rails 3.1应用程序中使用回形针 我使用关系将图像添加到项目中,以便每个项目可以有多个图像 我想做的是能够单击browse按钮并使用单个字段选择多个文件。而不是一次只能为每个字段处理一个图像 有人知道怎么做,或者有一个不需要闪存插件的好选择吗?我只使用一个控制器,没有关联(我的只是将多个图像上传到一个图库),但我已经做到了你要求的。你需要调整它来处理你的关系,但它对我来说很好(虽然在IE中不起作用),我确信它打破了rails的一些惯例,但这是我构建功能的唯一方法 第一步是使用HTM

所以我在rails 3.1应用程序中使用回形针

我使用关系将图像添加到项目中,以便每个项目可以有多个图像

我想做的是能够单击browse按钮并使用单个字段选择多个文件。而不是一次只能为每个字段处理一个图像


有人知道怎么做,或者有一个不需要闪存插件的好选择吗?

我只使用一个控制器,没有关联(我的只是将多个图像上传到一个图库),但我已经做到了你要求的。你需要调整它来处理你的关系,但它对我来说很好(虽然在IE中不起作用),我确信它打破了rails的一些惯例,但这是我构建功能的唯一方法

第一步是使用HTML5 multiple标记将upload字段设置为接受多个文件:

<%= f.file_field :photo, multiple: 'multiple' %>
它比看起来更简单-对我来说,控制器名是
photo
,字段名也是,这解释了
参数[:photo][:photo]
。它基本上只需要请求的
:photo
属性(控制器通常需要一个文件)并迭代已上载的文件,为每个文件创建新的
照片
,并依次将
@params
照片
属性设置为每个文件,然后尝试将其保存为新的
照片
,并在出现错误时发出警报,否则一旦完成,将重定向以显示照片

正如我所说,这对我来说非常有效,我希望它也能对您有所帮助:)


编辑如果这没有帮助,您能告诉我原因吗?在某人花时间帮助你之后忽略该消息不会让其他人想要帮助你。

不要修改控制器,只需在表单字段中添加
名称:
属性,如下所示:

<%= f.input_field :photo, as: :file, multiple: true, name: 'article[photo]' %>

以下是我是如何做到的:

params[:photo][:photo].each do |photo|
  record = Photo.create(photo: photo)
  # if record.errors.any?
  #   flash[:notice] = record.errors.full_messages.to_sentence
  # end
end
有关保存多条记录的其他方法,请参见

<%= f.input_field :photo, as: :file, multiple: true, name: 'article[photo]' %>
params[:photo][:photo].each do |photo|
  record = Photo.create(photo: photo)
  # if record.errors.any?
  #   flash[:notice] = record.errors.full_messages.to_sentence
  # end
end