2012-08-08 18 views
11

私はアクティブな管理者を使用しています。画像が多いギャラリーをアップロードする必要があります。どうしたらいいですか? マイコード:アクティブな管理者複数のファイル/画像アップロードwith paperclip

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 

そして、私はこのエラーを持っている:

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

どの行でエラーがスローされますか? – Agis

+0

私は同じ問題があります。あなたはまだ問題を解決しましたか? – Daniel

答えて

6

はこれを試してみてください:

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

'未定義のメソッド' new_record? 'を取得しました。これに対してnil:NilClass'を返します。フォールトで 'has_many'と思われます。 –

+0

右、私はそれを修正しました – Agis

+4

実際には、(OPによって指摘された)モデルで 'accepts_nested_attributes_for'を使って、私のためにそれを修正しました。私の悪い! –

0

さて、私はそれを解決するために管理:

が行うようにしてください以下:

ActiveAdmin.register Gallery do 
    form html: { multipart: true } do |f| 
    f.inputs do 
     f.input :name 
     file_field_tag("gallery_images_url", multiple: true, name: "gallery[gallery_images_attributes][][url]") 
    end    
    f.buttons 
    end 
end 

私はこのブログの記事、次によりその解決策になった:http://www.tkalin.com/blog_posts/multiple-file-upload-with-rails-3-2-paperclip-html5-and-no-javascript

関連する問題