非常简单的问题,但它让我发疯。
我在 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