form ruby-on-rails ruby forms formtastic activeadmin

ruby on rails - Entrada de archivo de imagen con Formtastic y ActiveAdmin



add activeadmin gem (4)

Empecé a usar formstatic pero necesito crear un campo de archivo con vista previa de la imagen. Quiero decir, cuando edito un objeto, quiero ver la imagen ya vinculada.

¿Cómo puedo hacer eso?

Gracias !


Utilice clip con formtastic

La página de github de Formtasitc menciona que admite clip:

: archivo - un campo de archivo. Valor predeterminado para la coincidencia de atributos de archivo adjunto: clip de papel o archivo adjunto_fu .

Aquí hay algunos screencasts útiles que lo pondrán en marcha:

Clip de papel

Recortar imágenes

EDITAR:

Para mostrar una imagen en una columna de una cuadrícula en ActiveAdmin necesita hacer una columna personalizada (Esto no se ha probado y podría tener fallas, estoy extrapolando esto de la documentación ):

index do column "Title" do |post| link_to image_tag("path to file", :alt => "post image"), admin_post_path(post) end end


La respuesta es usar el atributo de sugerencia:

ActiveAdmin.register Event do form :html => { :enctype => "multipart/form-data" } do |f| f.input :map, :as => :file, :hint => f.template.image_tag(f.object.map.url(:thumb)) end end

Adiós


Dos gemas y un complemento pueden ayudar a su caso:

Asegúrate de mirar:

Gemas:

Paperclip : https://github.com/thoughtbot/paperclip

RailsCast en PaperClip : http://railscasts.com/episodes/134-paperclip

CarrierWave : https://github.com/carrierwaveuploader/carrierwave

RailsCast en CarrierWave : http://railscasts.com/episodes/253-carrierwave-file-uploads

Carga de archivos Jquery : https://github.com/blueimp/jQuery-File-Upload

Jquery File Upload RailsCast : http://railscasts.com/episodes/381-jquery-file-upload (Necesita una cuenta Pro para RailsCast)


Como dijo @ianpetzer, en Rails 4.2 / ActiveAdmin Master, la respuesta actual hace que se escriba también una referencia de objeto. La respuesta correcta para 2016 debería ser similar a esta respuesta :

form :html => { :multipart => true } do |f| f.inputs do #... f.input :image, required: false, hint: image_tag(object.image.url(:medium)).html_safe #... end end