2012-08-08 8 views
11

Ich benutze Active admin und ich muss Galerien mit vielen Bildern hochladen. Wie kann ich es tun? Mein Code:Active Admin mehrere Datei/Bild-Upload mit Büroklammer

class Gallery < ActiveRecord::Base 
    belongs_to :event 
    has_many :images 

    attr_accessible :name, :publish, :images, :image, :images_attributes 
    accepts_nested_attributes_for :images, allow_destroy: true 

    validates :name, presence: true 

end 

class Image < ActiveRecord::Base 
    belongs_to :gallery 

    attr_accessible :url 
    has_attached_file :url, :styles => { :medium => "300x300>", :thumb => "100x100>" } 
end 


ActiveAdmin.register Gallery do 
    form html: { multipart: true } do |f| 
      f.inputs do 
      f.input :name 
      f.input :images, as: :file, input_html: { multiple: true} 
      end    
      f.buttons 
    end 
end 

Und ich habe diesen Fehler:

Image(#70319146544460) expected, got ActionDispatch::Http::UploadedFile(#70319105893880) 
+0

Welche Linie den Fehler wirft? – Agis

+0

Ich habe das gleiche Problem. Hast du das Problem schon gelöst? – Daniel

Antwort

6

Versuchen Sie folgendes:

ActiveAdmin.register Gallery do 
    form multipart: true do |f| 
    f.inputs do 
     f.input :name 

     f.has_many :images do |p| 
     p.input :url 
     end 
    end 

    f.actions 
    end 
end 
+2

Ich bekomme 'undefinierte Methode' new_record? ' für nil: NilClass' dafür. Scheint das 'has_many' zu sein. –

+0

Richtig, ich habe es behoben – Agis

+4

Eigentlich, mit 'accesses_nested_attributes_for' im Modell (vom OP hingewiesen) behoben es für mich. Mein Fehler! –