降价和外部链接

时间:2015-01-11 23:02:32

标签: ruby-on-rails ruby markdown redcarpet

我有一个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 here](www.example.com),然后进行解析,并且有人点击该链接,则会转到 www.mywebsite.com/www.example.com ,而不是 www.example.com

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

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

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

因此,它似乎是您应用程序中的其他内容。如果您在客户端注意到这个问题(即点击浏览器中的链接),我的猜测就是在HTML中的某个地方。我会搜索你的应用程序的文件目录,特别是任何HTML,“www.mywebsite.com”。