active_admin并将多个图像添加到图库

时间:2013-05-18 14:36:23

标签: ruby-on-rails ruby-on-rails-3 carrierwave activeadmin

我正在使用active_admin和carrierwave gems。有两个简单的模型:

class Image < ActiveRecord::Base
  attr_accessible :gallery_id, :file
  belongs_to :gallery

  mount_uploader :file, FileUploader
end

class Gallery < ActiveRecord::Base

  attr_accessible :description, :title, :file, :images_attributes
  has_many :images
  accepts_nested_attributes_for :images, allow_destroy: true

  mount_uploader :file, FileUploader
end

现在,我的Gallery的active_admin表单如下所示:

form do |f|
  f.inputs "Gallery" do
    f.input :title
  end
  f.has_many :images do |ff|
    ff.input :file
  end
  f.actions
end

现在我可以上传一个文件,点击“添加新图片”并上传另一个文件。而不是它,我想点击“添加新图像”,选择多个文件并一次上传所有文件。知道如何实现它?

1 个答案:

答案 0 :(得分:1)

对于包含多个图片上传的图库表单,您可以尝试使用

系统管理员/ galleries.rb

  form do |f|
    f.inputs "Gallery" do 
      f.input :name
    end
    f.has_many :images do |ff|
      ff.input :file
    end
  end

在model / gallery.rb中:

attr_accessible :images_attributes

在model / gallery.rb中(关系后添加):

accepts_nested_attributes_for :images, :allow_destroy => true