在rails模板中渲染youtube嵌入代码

时间:2012-12-29 20:50:03

标签: ruby-on-rails iframe html-parsing

我正在尝试嵌入嵌入导轨视图中的youtube

在控制器中我有

@embed_code = '<iframe width="480" height="270" src="https://www.youtube.com/embed/#{video_id}?frameborder="0"allowfullscreen"></iframe>'

我未能找到一种方法将此内容写入视图有效转义并使html安全并将其显示为<%= @embed_code.html_safe %>

如果有人能提供一些建议,我会很感激,我已经走了一圈,在这个阶段很困惑。据我所知,这是围绕引导问题的第二个引号。

3 个答案:

答案 0 :(得分:2)

控制器:

@embed_code = %Q{<iframe.....#{video_id}..>...</iframe>}.html_safe
# or
@embed_code = ActiveSupport::SafeBuffer.new(%Q{<iframe.....#{video_id}..>...</iframe>})

查看:

<%= @embed_code %>

答案 1 :(得分:0)

使用

<%= raw @embed_code %>

raw帮助器阻止Rails自动转义视图中的html代码。

答案 2 :(得分:0)

我认为sanitize可能是你想要的

%= sanitize @article.body %>


def sanitize(html, options = {})
  self.class.white_list_sanitizer.sanitize(html, options).try(:html_safe)
end