1

我有一个 Rails 4 应用程序(使用 RedCarpet)和一个辅助方法,如下所示:

def markdown(text)
  options = {
    escape_html:     true,
    hard_wrap:       true, 
    link_attributes: { rel: 'nofollow', target: "_blank" },
    space_after_headers: true,
    fenced_code_blocks: true
  }

  extensions = {
    autolink:           true,
    superscript:        true,
    disable_indented_code_blocks: true
  }

  renderer = Redcarpet::Render::HTML.new(options)
  markdown = Redcarpet::Markdown.new(renderer, extensions)

  markdown.render(text).html_safe
end

我的问题是,如果有人输入 example [Example here](www.example.com),然后被解析,并且有人点击链接,它会转到www.mywebsite.com/www.example.com,而不是www.example.com

我该如何解决?

4

1 回答 1

0

对我来说,使用 RedCarpet 3.0 运行您的方法"[Example here](www.example.com)"会返回以下内容:

"<p><a href=\"www.example.com\" rel=\"nofollow\" target=\"_blank\">Example here</a></p>\n"

因此,它似乎是您的应用程序中的其他内容。如果您注意到客户端的问题(即通过单击浏览器中的链接),我猜它在您的视图中的 HTML 某处。我会在您的应用程序的文件目录(尤其是任何 HTML)中搜索“www.mywebsite.com”。

于 2015-01-11T23:58:25.273 回答