Ruby on rails 通过传递param数组上载多个没有任何gems的文件
我有一个可以添加多个图像的表单Ruby on rails 通过传递param数组上载多个没有任何gems的文件,ruby-on-rails,Ruby On Rails,我有一个可以添加多个图像的表单 <%= form_with(model: photo, remote: true, multipart: true) do |form| %> <input type="file" name="images" accept="image/png, image/jpeg" multiple> <%= form.submit %> <% end %> 该方法返回一个文件,并表示 方法“each”未定义
<%= form_with(model: photo, remote: true, multipart: true) do |form| %>
<input type="file" name="images" accept="image/png, image/jpeg" multiple>
<%= form.submit %>
<% end %>
该方法返回一个文件,并表示
方法“each”未定义
如何传递我正在上载的所有图像的数组?您需要向图像中添加一种形式的数组“[]”,如下所示(根据您自己的逻辑进行更改):
更新:
感谢@SRack指出数字索引不是必需的,iamges[0],图像[1]可以工作,但事实上,一种形式的参数“images[]”就足够了。+1。注意:您实际上可以执行
name=“images[]”
在controller@leiliu中返回一个数组,省去了添加索引的需要。
def create
Rails.logger.debug "#{params[:images]}"
params[:images].each do |image|
@photo = current_user.photos.new(photo_params)
@value = Cloudinary::Uploader.upload(params[:image], :categorization => "google_tagging", :auto_tagging => 0.7)
@photo.link = @value['secure_url']
@photo.tag_list = @value['tags']
@photo.save
end
redirect_to root_path
end
<%= form_with(model: photo, remote: true, multipart: true) do |form| %>
<% (1..5).each do %>
<input type="file" name="images[]" accept="image/png, image/jpeg" multiple>
<% end %>
<%= form.submit %>
<% end %>