ActiveSupport :: SafeBuffer未在视图中呈现?

时间:2015-10-16 02:04:59

标签: ruby-on-rails erb html-safe

非常简单的问题,但它让我疯狂。

我在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

0 个答案:

没有答案