2015-04-30 49 views
0

我試圖做這樣的事情:Rails 4:如何在文本區域執行HTML標記?

<% msg_textarea = "text text<br /> text" %> 
<%= text_area_tag "my_texta", msg_textarea %> 

而這正是在textarea的:

text text<br /> text2 

,但我想:

text text 
text2 

我已經試過:

<%= text_area_tag "my_texta", msg_textarea.html_safe %> 
<%= text_area_tag "my_texta", simple_format(msg_textarea) %> 
<%= text_area_tag "my_texta", simple_format(h msg_textarea) %> 

但這些都不適合我。 如何在textareas中執行HTML標籤?

謝謝。

回答

2

你只需要使用\n而非<br />

<% msg_textarea = "text text\n text" %> 
<%= text_area_tag "my_texta", msg_textarea %> 

或者,如果你必須在原來的<br />,是這樣的:

<% msg_textarea = "text text<br /> text" %> 
<%= text_area_tag "my_texta", msg_textarea.gsub('<br />', "\n") %> 

雙方將留給你第二條線上的空間 - 但如果你願意,也很容易替換它。

+0

謝謝,雖然這太具體了。是不是有一個更通用的方式來做到這一點(如'.html_safe' - 它通常有效,但不是在textarea中)? – user984621

+0

我不知道任何更具體的方法。 'html_safe'和'raw'是將html標籤視爲html(即由瀏覽器呈現),並將它們顯示爲實際文本(即對用戶直接可見)。它們不是關於改變字符串本身的實際內容。 –

0

如果br是唯一標籤打擾您,gsub會有所幫助。
text =「text text
text2」 text = text.gsub! 「
」,「\ n」