在包含html代码Ruby on Rails的rails中输出一个变量

时间:2013-04-20 17:06:22

标签: html ruby-on-rails ruby output

我在ruby和rails中输出有点问题。 我仍然是rails的初学者,所以它可能很容易解决,我只是看不到它。

我正在尝试解析一个网站并在我自己的网站上发布一些源代码。 问题:它总是将整个源代码作为文本输出,而不是解释html代码。我怎么能改变它?

代码:

page = Nokogiri::HTML(open("https://www.google.ch/search?client=ubuntu&channel=fs&q=google&ie=utf-8&oe=utf-8&redir_esc=&ei=WMpyUfSWEuz07AaTioCwDw"))     

source = page.css('div#_css0')

<%=  page %>

结果:

http://postimg.org/image/dsaib9lx3/

我希望它看起来像:

http://postimg.org/image/z9qlhoef5/

感谢您的任何建议!

2 个答案:

答案 0 :(得分:3)

您应该在erb中使用raw。它实际上相当于在它上面调用html_safe,但是,就像h一样,它是在一个帮助器上声明的,所以它只能用在控制器和视图上。

page = Nokogiri::HTML(open("https://www.google.ch"))
<%= raw page %>

<%= raw Nokogiri::HTML(open("http://www.google.com")) %>

答案 1 :(得分:2)

在Rails视图中,每个字符串内容都会被转义,除非您使用html_safedocs