Ввод файла изображения с помощью Formtastic и ActiveAdmin - PullRequest
14 голосов
/ 16 августа 2011

Я начал использовать formstatic, но мне нужно сделать поле с файлом предварительного просмотра изображения. Я имею в виду, когда я редактирую объект, я хочу видеть изображение уже связанным.

Как я могу это сделать?

Спасибо!

Ответы [ 4 ]

48 голосов
/ 18 августа 2011

Ответ заключается в использовании атрибута подсказки:

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

Пока

3 голосов
/ 16 августа 2011

Использование скрепки с формастастом

Страница Formtasitc github упоминает, что он поддерживает скрепку:

: файл - поле файла.По умолчанию для соответствия атрибутов файловых вложений: скрепка или attachment_fu.

Вот несколько полезных скринкастов, которые помогут вам начать:

Скрепка

Обрезка изображений

РЕДАКТИРОВАТЬ:

Для отображения изображения в столбце сетки в ActiveAdmin вам необходимосоздать пользовательский столбец (это не проверено и может быть ошибочным, я экстраполирую это из документации ):

index do
    column "Title" do |post| 
        link_to image_tag("path to file", :alt => "post image"), admin_post_path(post)
    end
end
1 голос
/ 20 сентября 2013

Два Gems и один плагин могут помочь в вашем случае:

Убедитесь, что вы посмотрите на:

Gems:

Скрепка для бумаг : https://github.com/thoughtbot/paperclip

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

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

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

Загрузка файла Jquery : https://github.com/blueimp/jQuery-File-Upload

Загрузка файла Jquery RailsCast : http://railscasts.com/episodes/381-jquery-file-upload (Нужна профессиональная учетная запись для RailsCast)

0 голосов
/ 28 сентября 2016

Как сказал @ianpetzer, в Rails 4.2 / ActiveAdmin master текущий ответ также приводит к записи ссылки на объект. Правильный ответ на 2016 год должен быть похож на этот ответ :

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