rails 3 html_safe混乱

时间:2011-03-06 02:23:43

标签: ruby-on-rails

我如何实现这一目标?

在控制器中

@arr = ["<one>", "<two>"]

在视图中(haml)

= @arr.join("<br>")

正如您所猜测的那样,"<br>"不应该被转义。所以结果如下:

&lt;one%gt;<br>&lt;two%gt;

我该怎么做?

感谢。

萨姆

2 个答案:

答案 0 :(得分:5)

Rails有built in.

<%= safe_join(@arr, "<br />".html_safe) %>

答案 1 :(得分:1)

你可以自己动手:

arr = ["<one>", "<two>"]
''.html_safe.tap {|x|
  arr.each_with_index { |el, ix|
    x << el
    x << raw("<br/>") if ix < arr.size-1
  }
}

另请查看Array.join code in Rails