Ruby on rails Rails:使用Dragonfly同时上传多个图像
我用蜻蜓上传图片到模型照片,这是关联到其他模型。例如: 型号:邮政Ruby on rails Rails:使用Dragonfly同时上传多个图像,ruby-on-rails,ruby-on-rails-4,upload,nested-forms,dragonfly-gem,Ruby On Rails,Ruby On Rails 4,Upload,Nested Forms,Dragonfly Gem,我用蜻蜓上传图片到模型照片,这是关联到其他模型。例如: 型号:邮政 class Post < ActiveRecord::Base has_many :photos, dependent: :destroy accepts_nested_attributes_for :photos, allow_destroy: true, reject_if: lambda {|attributes| attributes['im
class Post < ActiveRecord::Base
has_many :photos, dependent: :destroy
accepts_nested_attributes_for :photos, allow_destroy: true,
reject_if: lambda {|attributes| attributes['image'].blank?}
看法
对,名称:“照片[图像][]”%>
您需要定义参数并以这种方式获取这些参数
你的新方法应该包含
def new
# Your new form object
@photo = @post.photos.build
end
在控制器方法中使用此
params[:photos]['avatar'].each do |a|
@photo = @post.photos.create!(:image => a)
end
您的表单应该如下所示:
<%= form_for(@post, :html => { :multipart => true }) do |f| %>
<%= f.fields_for :photos do |p| %>
<div class="field">
<%= p.label :image %><br>
<%= p.file_field :image, :multiple => true, name: "photos[image][]" %>
</div>
<% end %>
{:multipart=>true})do | f |%>
对,名称:“照片[图像][]”%>
@headers=“内容处理:表单数据;名称=\”照片[图像][]\“文件名=\”10395806\u 685294291596378\u 3110064580239039583\u n.jpg\“\r\n内容类型:image/jpeg\r\n>,\,照片数组看起来像是空的。我更新了上面的代码。您添加了新方法。查看我的编辑。并从中删除@post.photos.new。尚未工作。这个“化身”参数是什么?如果我删除@post.photos.new,我会为上传的每个文件获取一个输入文件,再加上一个用于上传新图像的输入文件。我只想输入上传一张新照片或表单上的照片,这是因为我添加了一个新参数,这是一种我发现不会出现很多输入文件的方式。你可以共享存储库url吗?我可以看看吗?
@post = Post.new(seminovo_params)
params[:photos]['image'].each do |a|
@photo = @post.photos.create!(:image => a)
end
<%= f.fields_for :photos, @post.photos.new do |photo| %>
<%= photo.file_field :image, :multiple => true, name: "photos[image][]" %>
def new
# Your new form object
@photo = @post.photos.build
end
params[:photos]['avatar'].each do |a|
@photo = @post.photos.create!(:image => a)
end
<%= form_for(@post, :html => { :multipart => true }) do |f| %>
<%= f.fields_for :photos do |p| %>
<div class="field">
<%= p.label :image %><br>
<%= p.file_field :image, :multiple => true, name: "photos[image][]" %>
</div>
<% end %>