非常简单的问题,但它让我疯狂。
我在Rails视图中调用此方法:
<%= get_image(@document) %>
此处的方法返回类型为ActiveSupport::SafeBuffer
的对象。如果我在控制台中调用.to_str
,我会看到预期的结果(只是一个html img标记)。但是,当我在视图中粘贴上述代码时,那里什么也没有。只是一个空字符串。
如果我这样做:
<%= get_image(@document).to_str %>
为了将SafeBuffer
转换为String
对象,我在页面中看到了文字HTML,而不是图片标记。
我觉得我在这里缺少一些简单或基本的东西。任何人都可以指出方向吗?提前谢谢!
编辑:既然已经请求了,那么get_image
方法就是这样:
def get_image(document)
document[document.type+'.image'].nil? ? nil : document[document.type+'.image'].as_html_safe
end