File upload with Activeadmin Rails using paperclip

前端 未结 4 487
遥遥无期
遥遥无期 2020-12-07 10:04

I use Active admin as my rails application backend. I want to make a file upload. How can I accomplish this functionality?

相关标签:
4条回答
  • 2020-12-07 10:18

    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

    0 讨论(0)
  • 2020-12-07 10:26

    In latest Version of ActiveAdmin & Rails 6 for displaying the file field we need to use the below code

    ActiveAdmin.register Project do
      permit_params :name, :uploads
      
    
      form multipart: true do |f|
        f.inputs "Project Details" do
          f.input :name
          f.input :uploads, as: :file, required: false
        end
        f.actions
      end
    
    end
    

    In some old version of AA following code also worked.

    f.input :uploads, required: false

    0 讨论(0)
  • 2020-12-07 10:29

    Got it worked for Rails 4.1 and Paperclip 4.1:

    Model

    class Hotel < ActiveRecord::Base
    
    has_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 do
    
    permit_params :name, :description, :price, :thumbnail
    
    form 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
     end
    
    show 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
     end
    end
    
    0 讨论(0)
  • 2020-12-07 10:40

    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
     end
    end
    

    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_actions
    end
    
    0 讨论(0)
提交回复
热议问题