41 votes

Upload de fichier avec Activeadmin Rails à l'aide d'un trombone

J'utilise Active admin que mon application rails backend. Je veux faire un upload de fichier, quelqu'un peut m'aider à le faire?

La documentation n'est pas très utile..

Merci!!!!

75voto

Sebastien Points 2984

J'ai trouvé un moyen d'utiliser un Trombone avec Active Admin.

J'ai ajouté ce code dans mon modèle "Événement" :

has_attached_file :map, :styles => { :medium => "238x238>", 
                                   :thumb => "100x100>"
                                 }

Et je l'ai fait pour mon admin modèle :

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

Pour l'utiliser sur la page d'index, vous devez utiliser :

column "Image" do |event|
    link_to(image_tag(event.image.url(:thumb), :height => '100'), admin_event_path(event))
  end
  default_actions
end

13voto

kokemomuke Points 184

Obtenu il a travaillé pour les Rails 4.1 et Trombone 4.1:

Modèle

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 Modèle

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

6voto

mmarqueti Points 177

Je suis sur les rails 3.0.1 et le code suivant

f.input :image, :hint => "current image: #{f.template.image_tag(f.object.image.url(:thumb))}" 

retourner une chaîne de caractères. Après la recherche d'une solution, je l'ai trouvé.

f.input :image, :hint => f.template.image_tag(f.object.image.url(:thumb))

Envoyer directe de l'objet, sera de retour d'une image dans le html

5voto

Amal Kumar S Points 2234

Dans la dernière Version de ActiveAdmin & Rails 4 pour afficher le champ de fichier, il faut utiliser le code ci-dessous

Précédemment, nous avons utilisé f.entrée :téléchargements :as => :fichier

ActiveAdmin.register Project do
  permit_params :name, :uploads


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

fin

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X