2012-04-11 92 views
0

我有一個簡單的表單,用戶可以在其中寫入一些文本,並將此文本發送到他的電子郵件。這個過程工作正常,但我有文字的問題,該用戶寫道 - 在電子郵件中顯示以下內容:Ruby - html標籤不會轉換爲格式標籤

["sadgsdah\r\nsdh\r\ndsf\r\nh\r\nfdhdfhdfh\r\n\r\n\r\n\r\nfdh\r\ndf\r\njh"] 

爲什麼有括號和\n\r字符?

比我給與內容到電子郵件模板中的變量之前,我試着做以下幾點:

mess_body =參數[:聯繫人] [:消息] .to_s.html_safe

但不幸的是,這並沒有幫助我...我做錯了什麼?

回答

0

的所有

mess_body = params[:contact][:message] 

首先返回一個數組,而不是一個單一的東西。這就是爲什麼你在輸出周圍得到[「和」]的原因。 你可以得到的第一個元素是這樣的:

mess_body = params[:contact][:message][0] 

而且\ n \ r是一個文本框的行尾。假設您發送的電子郵件是HTML,\ n \ r應該被字符串中的<br>替換

+0

是的,我完全忘了那個數組而不是字符串。但是仍然存在關於'\ n \ r'的問題 - 它們只是被空白空間替換,而不是新行 - 這是我在郵箱中看到的。但是當我看看項目的日誌時,正確顯示'new line'標籤... – user984621 2012-04-11 14:33:07

+0

如果文本正在進入html消息,換行符只是空間可視化 - 使html強制換行,您需要
標記 – DGM 2012-04-11 14:34:45

+0

@DGM您的意思是我必須手動將'\ n \ r'字符轉換爲'
'? – user984621 2012-04-11 14:36:11

1

要將換行符轉換爲在html中看起來正確,請使用simple_format轉換文本。