Rails将'\ n'替换为'<br/>'问题

时间:2013-12-16 06:58:49

标签: javascript ruby-on-rails

输入是textarea类型

所以我从控制器那里得到了这样的数据,

'firstline \n secondline \n thirdline"

我想将此更改为

'firstline <br/> secondline <br/> thirdline"

我用Google搜索,发现了这一点。

description = appointment[:description].to_s.gsub(/\n/, "<br/>")

但奇怪的是,如果我打印这个,它会显示一个像这样的奇怪文本,

代码,

<%=Rails.logger.debug("***description***" + description)%>

结果,

<br/>3rd linen***1st line

更奇怪的是,我必须把这个参数调用这样的javascript函数,

<span class="hotspot" onmouseover="tooltip.show(<%=user_list%>,&quot;<%=description%>&quot;);" onmouseout="tooltip.hide();">
     <%=h appointment[:users] %>
</span>

专注于&lt;%= description%&gt;

在这里我收到了一个错误,并且显示如下,

<span class="hotspot" onmouseover="tooltip.show([],&quot;1st line
&lt;br/&gt;2nd line
&lt;br/&gt;3rd line&quot;);" onmouseout="tooltip.hide();">

Uncaught SyntaxError: Unexpected token ILLEGAL

有什么好主意吗?

3 个答案:

答案 0 :(得分:1)

试试这个

"firstline \n secondline \n thirdline".to_s.gsub(/\n/, "<br/>").html_safe

答案 1 :(得分:0)

可能会有效

desc = appointment[:description].to_s
description = desc.split("\n").join("<br/>")

答案 2 :(得分:0)

试试这个。

description = appointment[:description].to_s.gsub(/\n/, "<br/>").html_safe