引用另一个话语的渲染 post

Rendering of a quote of another discourse post

我创建了一个 WordpressComment class 检查评论是否引用了另一个评论。如果是,它会以与 UI

相同的模式添加引用
def body(lookup)
  quoted = nil
  parent = nil
  if parent_import_id != nil then
    parent_id = lookup::post_id_from_imported_post_id(parent_import_id)
    parent = Post.where(id:parent_id).first
    if parent != nil then
      user = User.where(id:parent.user_id).first
      @parent_user_name = user.username_lower
      quoted = "[quoted=\"#{parent_user_name}, post:#{parent.post_number}, topic:#{parent.topic_id}\"]<br/><br/>#{parent.cooked}<br/>[/quote]<br/>"
    end
  end
  return "#{quoted}#{content}<p /><p />#{author}<p />#{author_url}".gsub(/\n/,'<br/>').strip[0...32000]
end

它插入了正确的 link .. 但它没有正确呈现。

看起来像这样

[quote="{用户名}, post:{post_id}, topic:topic_id"] ... 引用文本 ... [/quote]

我研究过search?q=quoting another post #dev

有趣的是,我发现一些 post 存在相同的引用问题。

如何在 post.raw 中添加另一个 post 的引述以便它被渲染?

干杯并感谢 meta.discousre.org

的弗洛里安

问题是我用的是引号而不是引号,引号块的末尾必须有一个换行符。

改正拼写错误并插入换行符成功了!

def body(lookup)
  quoted = nil
  parent = nil
  if parent_import_id != nil then
    parent_id = lookup::post_id_from_imported_post_id(parent_import_id)
    parent = Post.where(id:parent_id).first
    if parent != nil then
      user = User.where(id:parent.user_id).first
      @parent_user_name = user.username_lower
      quoted = "[quote=\"#{parent_user_name}, post:#{parent.post_number}, topic:#{parent.topic_id}\"]<br/><br/>#{parent.cooked}<br/>[/quote]\n<br/>"
    end
  end
  return "#{quoted}#{content}<p /><p />#{author}<p />#{author_url}".gsub(/\n/,'<br/>').strip[0...32000]
end