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

3
当你想在表单中展示一张照片时,共识是这样做的:
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

f.template.image_tag 和 image_tag 是相同的,但是在 f.template 上调用的方法的结果与 image_tag 调用的结果不同。这是 ActiveAdmin 内部行为,原因是 ActiveAdmin 自从一段时间以来就支持 Arbre。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接