ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 28 Feb 2014, 20:53 
Offline
Lehrling

Registriert: 07 Mai 2009, 18:13
Beiträge: 71
Hallo,

ich habe in meinen Forms einige Textareas. Ich würde gerne die Line Breaks, die der Benutzer eingibt bei der Ausgabe berücksichtigen und jeden Zeilenvorschub, den der Benutzer eingibt durch ein <br /> ersetzen.

Dazu habe ich im Model folgendes codiert:


1
2
3
4
5
6
7
  def description_html
if self.description_de.blank?
description_html = ""
else
description_html = self.description_de.gsub(/\n/, '<br />')
end
end


In den Views gebe ich dann wie folgt aus:




<%= raw @task.description_html rescue nil %>


Da Rails3 standardmäßig "escaped" muss ich raw benutzen, damit die Ausgabe richtig dargestellt wird.

Generiere ich damit ein Sicherheits-Risiko, wenn ich raw nur in reinen Anzeige Methoden wie Show oder Index benutze?


Zuletzt geändert von Quintus am 28 Feb 2014, 21:21, insgesamt 1-mal geändert.
Code-Tags eingefügt


Nach oben
 Profil  
 
BeitragVerfasst: 28 Feb 2014, 21:14 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Stonebreaker62 hat geschrieben:



description_html = self.description_de.gsub(/\n/, '<br />')





description_html = self.description_de.gsub(/\n/, '<br />').html_safe


*edit*
Noch mal auf die schnelle diesen Link nachgereicht: http://stackoverflow.com/questions/4251284/raw-vs-html-safe-vs-h-to-unescape-html

Ich persönlich bevorzuge es grundsätzlich jede einzelne Aktion per #html_safe als sichere Aktion zu kennzeichnen, statt am Ende ein generelles raw zu nutzen. Bei der Verwendung von #html_safe macht man sich meist bewusster was die Änderungen gerade bewirken können. Aber das ist wohl eher Geschmacksache. Ich empfinde das "raw" im View irgendwie als Brechstange…

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 28 Feb 2014, 23:34 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
Das ist ein Risiko. Du kannst ja nicht davon ausgehen, dass ein böser User dir nicht HTML/JS Schnippsel schickt.
Die würdest du dann einfach ausgeben. Du müsstest also deinen String erst html escapen, dann dein gsub drüber laufen lassen.
Aber auch hier keine 100% Garantie.

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 28 Feb 2014, 23:42 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
ps: ich denke für deine Zwecke wäre simple_format das Richtige.

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 01 Mär 2014, 07:12 
Offline
Lehrling

Registriert: 07 Mai 2009, 18:13
Beiträge: 71
sieht genial aus - ist auch besser als meine gsub Methode, weil aus zwei Zeilenvorschüben ein <p> gemacht wird. Und ich kann es direkt in den Views einsetzen und spare mir eine Methode im Model.

Danke für die Hinweise


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron