2015-01-11 3 views
1

내가 (RedCarpet 사용) 레일 4 응용 프로그램 및 보이는 도우미 메서드이 같은 :마크 다운 및 외부 링크

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.example.com 대신 www.mywebsite.com/www.example.com으로 연결됩니다.

어떻게 수정합니까?

+0

실제로 질문에 답변을하지는 않지만 사용자가 할 수있는 한 가지 방법은'https : // www.example.com' 또는'// example.com'처럼 전체 URL을 입력하는 것입니다. – AndreiMotinga

답변

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의 어딘가에서 볼 수 있습니다. "www.mywebsite.com"에 대한 귀하의 응용 프로그램의 파일 디렉토리, 특히 모든 HTML을 검색하고 싶습니다.

+0

거짓말하지 않을 것입니다. 나는 왜 그것이 작동하지 않는지 알아 내려고 노력하면서 내 머리카락을 꺼내고있었습니다. 그리고 당신의 대답은 최고였습니다. 참으로 그 견해에있었습니다. 왜 누군가가 downvote 모르겠어요. 건배. – Andy