simple_format 和 2+ 换行符(\n)

cau*_*eld 4 ruby-on-rails ruby-on-rails-3

我正在使用 rails 并且需要显示文本,一行中有 3 个或更多换行符。

我找到了simple_format方法,但它适用于 2,3,4,... 符号相同

两个或多个连续换行符 (\n\n) 被视为一个段落并包裹在 < p > 标签中。

例如,我的文字是

1.9.3p0 :015 > Article.last.text
=> "1\n\n2\n\n\n\n33" 
Run Code Online (Sandbox Code Playgroud)

当我这样做时,<%= simple_format Article.last.text.html_safe %>它会生成这个视图:

<p>1</p>
<p>2</p>
# but i need <br/> or smth else there
<p>3</p>
Run Code Online (Sandbox Code Playgroud)

欢迎其他解决方案,谢谢。

gmi*_*ile 6

我可能仍然缺少一些东西,但为什么不直接使用string.gsub(a, b)

"1\n\n2\n\n\n\n33".gsub("\n", "<br />").html_safe # => "1<br/><br/>2<br/><br/><br/><br/>33"
Run Code Online (Sandbox Code Playgroud)

当然,您也可以将前一行传递给以simple_format将该行包装到<p>标签中。