【问题标题】:output a variable in rails containing html code Ruby on Rails在 Rails 中输出一个包含 html 代码的变量 Ruby on Rails
【发布时间】:2013-04-20 17:06:22
【问题描述】:

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

感谢您的任何建议!

【问题讨论】:

  • 那你想要什么?问题不清楚
  • @rubyLovely 希望我说清楚了

标签: html ruby-on-rails ruby output


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 2012-12-28
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多