0

我正在尝试将 youtube 嵌入到 Rails 视图中

在控制器中我有

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

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

如果有人可以提供一些建议,我将不胜感激,我已经绕着圈子走了,在这个阶段很困惑。据我所知,这是导致问题的参数周围的第二个引号。

4

3 回答 3

2

控制器:

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

看法:

<%= @embed_code %>
于 2012-12-29T20:59:04.183 回答
0

我想sanitize也许你想要什么

%= sanitize @article.body %>


def sanitize(html, options = {})
  self.class.white_list_sanitizer.sanitize(html, options).try(:html_safe)
end
于 2014-08-14T09:08:09.697 回答
0

利用

<%= raw @embed_code %>

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

于 2012-12-29T20:51:36.923 回答