Ich habe ein Textfeld, in dem Benutzer Inhalt eingeben können. Wenn es darum geht, ihren Eintrag auf einer Seite anzuzeigen, gibt rails für jeden Zeilenumbruch \n
zurück, was als kein Abbruch für HTML auf der Seite erscheint.Newline-Zeichen in Textfeldern analysieren, ohne alle HTML-Tags zuzulassen
Von dem, was ich sammle, der normale Weg, um diese zu bekommen ist ein .gsub
Befehl, \n
mit <br />
ersetzt, und dann einem .html_safe
am Ende der <br />
macht sicherzustellen.
Das Problem ist, ich möchte nicht html_safe den Inhalt - HTML sollte noch ersetzt werden, aber <br />
Tags sollten in den (nicht maskiert) Inhalt injiziert werden.
Vorschläge geschätzt.
Perfekt - vielen Dank. ;-) – PlankTon
Oder noch besser, benutze die eingebaute 'h()' Methode: '<% = simple_format h @ article.body%>' –
Wenn du das in einem Model oder Controller machen willst: 'ActionController :: Base.helpers.raw ActionController :: Base.helpers.sanitize ((ActionController :: Base.helpers.simple_format (Körper)),: tags =>% w (br p)) ' – richardaday