首页 文章

Rails / ERB with Redcarpet:HTML消失了

提问于
浏览
0

如果我开始 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

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

  • 0

    我相信你会做类似的事情

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

    很好解释here

相关问题