2016-05-17 8 views
1

Ich versuche, HTML-Anweisung in Ruby zu erstellen. Hier ist mein Beispielcode.HTML einfügen in Ruby

tmp1 = "<div><font face='Arial'><span style='font-size:9pt'>&diams;Issue : #{@issue[:"Defect Type"]} (#{@issue[:"Checker"]}) found in #{@issue[:"Function"]}</span></font></div>"   
doc = Nokogiri::HTML.fragment(tmp1) 
doc.to_html 
header = Nokogiri::XML.fragment('<html><body>') 
header.at('body').children = doc 
details = header.to_html 

doc = Nokogiri::XML::DocumentFragment.parse(details) 
body = doc.at('body')   

url = "http://collab.temp.com/main/display/CQ/Checker+Guides" 
tmp2 = "<div><font face='Arial'><span style='font-size:9pt'>&diams;Review Guide : <a href=#{url}>#{url}</a></span></font></div>"      

body.add_child(tmp2) 
details = doc.to_html(:encoding => 'EUC-KR') 

Als ich 'Details' in Browser angezeigt wird, kann ich einen genauen Hyper-Link wie unten:

♦ Bewertung Guide: http://collab.temp.com/main/display/CQ/Checker+Guides

Aber, wenn ich auf den Link klicken: ‚Die Webseite kann nicht gefunden werden 'Fehler tritt auf.

Wenn ich den Link kopieren und dann im Browser einfügen, kann ich erfolgreich darauf zugreifen.

Also ich denke, dass ich falsches HTML-Anweisung in Ruby erstellen kann.

Konnten Sie mir für dieses Problem helfen?

Antwort

0

Surround das url Attribut a Anker-Tag (innerhalb tmp2 = Linie) mit Zitaten:

<a href=#{url}>#{url}</a> ⇐ incorrect 
<a href='#{url}'>#{url}</a> ⇐ correct 
+0

Eigentlich habe ich schon versucht beide und doppelte Anführungszeichen. Aber ich konnte das Problem nicht lösen. – 500004dolkong

+0

Was ist der resultierende HTML-Code, wie von Browser »ViewSource? – mudasobwa

+0

Ich habe die Ursache dieses Problems gefunden. Unser System blockiert die Ausführung von Hyperlinks. Ich kann also nicht darauf klicken. Danke für deine Unterstützung, @mudasobwa – 500004dolkong