Rails / ERB with Redcarpet:HTML消失了

时间:2014-08-09 22:26:18

标签: ruby-on-rails ruby erb redcarpet

如果我开始rails console并输入:

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

(记住在换行符之前的2个空格中表示强行换行) 我得到了预期的:<p>line 1<br>\nline 2</p>\n

但如果我在ERB中使用此代码,我在页​​面源中看到的只是包含在<p>中的原始文本。换行转义字符会被保留,但是2个空格已经消失,并且没有<br>

是什么给出的?谢谢你的智慧。如果你解释我如何能够自己隔离问题,那就更有荣耀了!

2 个答案:

答案 0 :(得分:0)

我相信你可以做点什么

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

很好地解释了here

答案 1 :(得分:0)

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