0

如果我开始rails console并输入:

Redcarpet::Markdown.new(Redcarpet::Render::HTML.new).render("line 1  \nline 2").html_safe

(请记住,换行前的markdown 2个空格意味着强制换行)我得到了预期:<p>line 1<br>\nline 2</p>\n

但是,如果我在 ERB 中使用此代码,我在页​​面源代码中看到的只是包含在<p>. 换行符转义字符被保留,但 2 个空格消失了,也没有<br>.

是什么赋予了?谢谢你的智慧。如果您解释我如何自己隔离问题,那就太赞了!

4

2 回答 2

0

我相信你应该做类似的事情

...render("line 1  \nline 2".gsub(/\n/, '<br/>')).html_safe

这里解释得很好

于 2014-08-11T07:23:19.303 回答
0

我确定的解决方法是使用 Redcarpet 中的“硬包装”选项。对于我的用例来说,这实际上是完全可以接受的,但我仍然很好奇,所以如果有人想出解决原始问题的方法,我会更改接受的答案。

于 2014-08-12T09:30:11.177 回答