0

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

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

0 回答 0