2011-03-06 136 views
0

我該如何做到這一點?rails 3 html_safe混淆

在控制器

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

的視圖(HAML)

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

正如你猜,"<br>"不應該逃脫。所以結果如下。

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

我該怎麼做?

謝謝。

山姆

回答

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

+0

哇。這比我想象的要複雜得多。謝謝。 –

5

Rails有這個built in.

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

可能是顯而易見的,但值得注意的是,這隻適用於該視圖。 – drewish