Ввод файла изображения с помощью Formtastic и ActiveAdmin
Я начал использовать formstatic, но мне нужно создать поле файла с предварительным просмотром изображения. Я имею в виду, когда я редактирую объект, я хочу, чтобы изображение уже было связано.
Как я могу это сделать?
Спасибо!
Ответы
Ответ 1
Ответ заключается в использовании атрибута подсказки:
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
Bye
Ответ 2
Используйте paperclip с помощью formtastic
Formtasitc страница github упоминает, что поддерживает paperclip:
: file - поле файла. Значение по умолчанию для атрибутов привязки файлов: paperclip или attachment_fu.
Вот некоторые полезные скринкасты, которые помогут вам:
Paperclip
Обрезка изображений
EDIT:
Чтобы отобразить изображение в столбце сетки в ActiveAdmin, вам нужно создать собственный столбец (это не проверено и может быть ошибочным, я экстраполирую это из documentation):
index do
column "Title" do |post|
link_to image_tag("path to file", :alt => "post image"), admin_post_path(post)
end
end
Ответ 3
Два драгоценных камня и один плагин могут помочь вашему делу:
Убедитесь, что вы смотрите:
Драгоценные камни:
Скрепка: https://github.com/thoughtbot/paperclip
RailsCast on 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 (нужна учетная запись Pro для RailsCast)
Ответ 4
Как сказал @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