2011-07-01 52 views
0

因此,我将youtube中的整个嵌入代码存储到我的数据库中,然后像这样输出它。Rails 3渲染iframe与原始()

<%= raw(people.video) %> 

其输出的一般iframe标签从YouTube复制:

<iframe src="foo" width=400 height=380></iframe> 

的问题是,它实际上显示标签,而不是嵌入视频到页面中的。我可以通过将src存储在数据库中来解决这个问题....但是这是迷你cms系统的一部分,并且站点管理员会发现只需复制和过滤来自YouTube的嵌入代码就容易得多。有什么我可以指定的iframe实际渲染,而不是只是吐出页面上的HTML?

回答

0

您可以使用raw方法呈现字符串的HTML,您是否以这种方式存储它?您也可以尝试RedCloth宝石 - 我能得到这个工作,像这样:

<%= raw RedCloth.new(@page_content.content).to_html %> 

这让我定制CMS用纺织品标记 http://en.wikipedia.org/wiki/Textile_%28markup_language%29

我不是100%是什么你看到了,因为raw应该呈现HTML,但是你也可以尝试使用JavaScript.write来包含嵌入标记,因为存在一些与HTML vs JavaScript中嵌入的Flash对象相关的问题。

让我知道这是行不通的,如果是这样,你能提供截图或复制你在页面上看到的东西吗?

+0

谢谢。我会标记你的答案是正确的。事实证明,我的jQuery CMS插件是HTML清理iframe上的开放标签。话虽如此,我想我会偷看一下redcloth :) – Msencenb