带有红地毯的Rails/ERB: HTML正在消失



如果我启动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>包装的原始文本。保留了换行转义字符,但是去掉了两个空格,并且没有<br>

给了什么?谢谢你的智慧。如果你能解释一下我是如何解决问题的,那就更棒了!

我相信你可以这样做

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

这里解释得很好

我决定的解决方法是在Redcarpet中使用"hard wrap"选项。对于我的用例来说,这实际上是完全可以接受的,但我仍然很好奇,所以如果有人提出了原始问题的解决方案,我将更改接受的答案。

相关内容

  • 没有找到相关文章

最新更新