数据库中缺少来自 text_area 的换行符

linebreak from text_area missing in the database

我在测试中使用 text_area rails 应用程序

= form_for @post do |f|
  = f.text_field :title, size: '40'
  = f.text_area :description, size: "80x20"

并使用 RedCarpet 呈现降价

.post-description
  = markdown(post.description)

当我将列表插入 text_area 时,由于描述字段中缺少换行符,Markdown 无法正确呈现。

结果是这样的

=markdown("1. test 2. test")

我想表格中的换行符需要保存在数据库中。带有换行符的简单字符串

=markdown("1. test /n 2. test")

按预期工作。

谁能给我提示?

通常textarea字段有换行保存为\r\n,可以被redcarpet解析。你需要检查post.description输出,检查是否存在一些jquery描述编辑的插件,是否有修改description的回调。找到description的原因没有换行符的字段。

尝试

require 'redcarpet'

markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML.new)

p markdown.render("1. test 2. test")
p markdown.render("1. eee\r\n2. 113")