2013-03-30 32 views
0

認識到如果我將HTML代碼放在rails文本區域中,它將輸出html。防止在文本區域中HTML轉義

例如:

<b> Hello </b> 

輸出爲:

你好

我認爲Rails 3個的文字輸入會自動逃跑HTML但每當我輸出@ variable.textarea,它仍然顯示加粗字體。是否有選擇性地輸入什麼HTML?當我輸出textarea的內容時,如何確保所有的HTML總是被轉義?

謝謝!

+1

我對你的問題感到困惑,但也許這只是我。當用戶在textarea中提交信息時,您是否希望數據被轉義。 – jason328

+0

您使用的是哪種版本的導軌?一個rails 3應用程序應該自動轉義html。 – weltschmerz

回答

1

如果<b>hello</b>出來爲你好,這意味着HTML轉義已經阻止。

由於您不希望用戶能夠在其輸入中使用HTML,因此您希望HTML能夠被轉義,因此<b>hello</b><b>hello</b>形式出現。

在Rails 3應用程序,HTML自動獲取逃脫 - 但你可以使用h method明確地逃避它:

<%= h my_string %> 
+0

您的解決方案奏效,並感謝您澄清我對語言的不良使用。問題:如果默認情況下將HTML轉義設置爲true,那麼文本區域如何顯示我的hello作爲** hello **作爲輸出?這首先是我開始混淆的原因。 – Laurent

+0

您使用的是哪種版本的導軌? – weltschmerz

+0

Rails版本3.2.11 – Laurent