File upload with Activeadmin Rails using paperclip
I found a way to use Paperclip with Active Admin.
I added this code in my model "Event" :
has_attached_file :map, :styles => { :medium => "238x238>", :thumb => "100x100>" }
And i did this for my admin model :
ActiveAdmin.register Event do form :html => { :enctype => "multipart/form-data" } do |f| f.inputs "Details" do f.input :continent f.input :event_type f.input :name f.input :title f.input :content f.input :date_start, :as => :date f.input :date_end, :as => :date f.input :place f.input :map, :as => :file f.input :image, :as => :file, :hint => f.template.image_tag(f.object.image.url(:medium)) f.input :userfull_info f.input :price f.input :phone, :as => :phone f.input :website, :as => :url end f.buttons endend
To use it on the index page, you have to use :
column "Image" do |event| link_to(image_tag(event.image.url(:thumb), :height => '100'), admin_event_path(event)) end default_actionsend
Got it worked for Rails 4.1 and Paperclip 4.1:
Model
class Hotel < ActiveRecord::Basehas_attached_file :thumbnail, :styles => { :medium => "300x300#", :thumb => "200x200#" }validates_attachment :thumbnail, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }end
Admin Model
ActiveAdmin.register Hotel dopermit_params :name, :description, :price, :thumbnailform do |f| f.inputs "Project Details" do f.input :name f.input :thumbnail, :required => false, :as => :file # Will preview the image when the object is edited end f.actions endshow do |ad| attributes_table do row :name row :thumbnail do image_tag(ad.thumbnail.url(:thumb)) end # Will display the image on show object page end endend
I'm using the rails 3.0.1 and the following code
f.input :image, :hint => "current image: #{f.template.image_tag(f.object.image.url(:thumb))}"
return a string. After search a solution, i found it.
f.input :image, :hint => f.template.image_tag(f.object.image.url(:thumb))
Send direct the object, will return a image to the html