2012-04-11 10 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 = paramsは[::連絡先] [:メッセージ]

を.to_s.html_safeを

は、私は電子メールテンプレートにコンテンツを持つ変数を与えるよりも前に、私は次の手順を実行してみました

しかし残念ながら、これは私を助けませんでした...私は間違って何をしていますか?すべて

mess_body = params[:contact][:message] 

答えて

0

まず、配列ではなく、単一のものを返します。そういうわけで、出力の周りに["と"]をつけます。 あなたは、このように最初の要素を取得することができます:

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

さらに\ n個の\ rは、テキストボックスの行末です。あなたが送っている電子メールは\ n個の\ rはテキストを変換するためにsimple_formatを使用して、右のhtmlで見るために改行を変換する文字列

+0

はい、文字列の代わりにその配列を完全に忘れました。しかし、 '\ n \ r'についてはまだ問題があります。新しい行ではなく空白で置き換えられます。これがメールボックスでの表示方法です。しかし、プロジェクトのログを見ると、 'new line'タグが正しく表示されます... – user984621

+0

テキストがHTMLメッセージに書き込まれる場合、改行は視覚的にスペースに変換されます - 改行を強制する
タグ – DGM

+0

@DGMが必要です。あなたは '\ n \ r'文字を手動で'
'に変換する必要がありますか? – user984621

1

に<BR>によって置き換えられるべきHTMLであると仮定すると。

関連する問題