Frage

Aus irgendeinem Grunde html Entkommen ist nicht in meiner Rails-Anwendung arbeiten. Auch wenn ich schreibe so etwas wie

<%=h '©äö' %> 

es ist nicht eines der Zeichen in HTML-Entitäten zu konvertieren.

Ich habe keine Ahnung, was das sein könnte. Es funktionierte immer gut und jetzt einfach nicht plötzlich tun.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Google Sitemap erfordert völlig entgangen URLs , so in diesem Fall müssen Sie alle Sonderzeichen und internationale Zeichen entkommen.

Das htmlentities Bibliothek für Sie tut das.

Ich schrieb sogar ein wenig Wrapper im application_helper.rb:

def html_entity_escape(s)
  require 'htmlentities'
  @html_coder ||= HTMLEntities.new
  @html_coder.encode(s)
end

Andere Tipps

ö und ä sind gültige Zeichen in HTML. Es gibt keine Notwendigkeit, sie zu entkommen, auch wenn es HTML-Entitäten für sie. Diese Einheiten sind die Bequemlichkeit, nicht notwendig - solange die deklarierte Codierung (HTTP-Header) und die tatsächlichen Zeichencodierung Streichhölzer, gibt es kein Problem, wenn sie buchstäblich auftritt

.

Die einzigen Zeichen, die immer maskiert werden müssen, sind <, >, & und ", wie in XML.

Ich würde sagen, dass h nur die Sonderzeichen HTML ersetzt <,>, & und "Weitere Informationen finden sie auf der Dokumentation von Rails der ERB :: Util.html_escape , die hinter der h-Funktion ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top