【发布时间】:2016-02-26 23:04:38
【问题描述】:
我正在使用 Dragonfly 将图像上传到与其他模型关联的模型 Photo。例如:
模型:发布
class Post < ActiveRecord::Base
has_many :photos, dependent: :destroy
accepts_nested_attributes_for :photos, allow_destroy: true,
reject_if: lambda {|attributes| attributes['image'].blank?}
模特照片
class Photo < ActiveRecord::Base
extend Dragonfly::Model::Validations
dragonfly_accessor :image
dragonfly_accessor :image do
after_assign { |img| img.encode!('jpg', '-quality 80') }
end
即使我将输入更改为同时上传多个文件,它也能正常工作
窗体视图:
作品:
<%= f.fields_for :photos do |photo| %>
<%= photo.file_field :image, class: "form-control" %>
<% end%>
不起作用:
<%= f.fields_for :photos do |photo| %>
<%= photo.file_field :image, class: "form-control", multiple: true, name: 'photo[image]' %>
<% end%>
如何将多个文件同时上传到关联模型?
谢谢!
更新:
我试过了:
控制器。创建动作
@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][]" %>
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 upload nested-forms dragonfly-gem