使用Formtastic和ActiveAdmin输入图像文件

时间:2011-08-16 16:36:34

标签: ruby-on-rails ruby forms formtastic activeadmin

我开始使用formstatic,但我需要创建一个带有图像预览的文件字段。我的意思是,当我编辑一个对象时,我希望看到已经链接的图像。

我该怎么做?

谢谢!

4 个答案:

答案 0 :(得分:48)

答案是使用提示属性:

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

再见

答案 1 :(得分:3)

paperclip与formtastic一起使用

Formtasitc的github page提到它支持回形针:

  

:file - 文件字段。文件附件属性的默认值匹配: paperclip 或attachment_fu。

以下是一些有用的截屏视频:

Paperclip

Cropping images

修改

要在ActiveAdmin中的网格列中显示图像,您需要创建一个自定义列(这是未经测试的,可能有缺陷,我从documentation推断出来):

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

答案 2 :(得分:1)

两个Gems和一个插件可以帮助您解决问题:

请务必查看:

宝石:

回形针https://github.com/thoughtbot/paperclip

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

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

CarrierWave上的RailsCast 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的专业帐户)

答案 3 :(得分:0)

正如@ianpetzer所说,在Rails 4.2 / ActiveAdmin master中,当前的答案也会导致写出对象引用。 2016年的正确答案应与此answer类似:

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