File upload with Activeadmin Rails using paperclip File upload with Activeadmin Rails using paperclip ruby-on-rails ruby-on-rails

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