f.template.image_tag和image_tag有什么区别?

时间:2014-11-18 19:25:47

标签: ruby-on-rails paperclip activeadmin formtastic

当您想在表单中显示照片时,达成共识会说这样做:

ActiveAdmin.register Foobar do
  form :html => {:multipart => true} do |f|                                      
    f.input :thumbnail, :required => false, :as => :file,                      
            :hint => f.template.image_tag( f.object.thumbnail.url(:thumb) )       
    end                                                                          
    f.actions                                                                    
  end
end

当我这样做时,我得到了这个:

#<#<Class:0x00000004950908>:0x0000000494d960>
<li class="file input optional" id="property_thumbnail_input"><label class="label" for="property_thumbnail">Thumbnail</label><input id="property_thumbnail" name="property[thumbnail]" type="file">

<p class="inline-hints"><img alt="431270" src="/system/properties/thumbnails/000/000/015/thumb/431270.png?1416340571"></p></li>

所以是的,我在页面中显示了十六进制代码:/

如果我只是这样就消失了:

:hint => image_tag( f.object.thumbnail.url(:thumb) )

软件版本:

  

formtastic(3.0.0)

     

paperclip(4.2.0)

1 个答案:

答案 0 :(得分:0)

f.template.image_tag和image_tag相同,但调用f.template的方法的结果与image_tag调用的结果不同。这表现在ActiveAdmin的内部,原因是ActiveAdmin在一段时间内支持Arbre形式。