0

我有一个简单的表单,用户可以在其中写一些文本,这些文本将发送到他的电子邮件。这个过程工作正常,但我对用户写的文本有疑问 - 在电子邮件中显示如下:

["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[:contact][:message].to_s.html_safe

但不幸的是,这对我没有帮助......我做错了什么?

4

2 回答 2

1

要将换行符转换为在 html 中正确显示,请使用simple_format转换文本。

于 2012-04-11T14:39:17.317 回答
0

首先

mess_body = params[:contact][:message]

返回一个数组,而不是一个东西。这就是为什么你在输出周围得到 [" 和 "] 的原因。你可以得到这样的第一个元素:

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

此外 \n\r 是文本框的行尾。假设您发送的电子邮件是 HTML,则 \n\r 应替换为字符串中的 <br>

于 2012-04-11T14:23:46.420 回答