2

我对 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/

感谢您的任何建议!

4

2 回答 2

3

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

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

或者

<%= raw Nokogiri::HTML(open("http://www.google.com")) %>
于 2013-04-20T19:12:38.573 回答
2

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

于 2013-04-20T17:29:54.540 回答