SORU
2 Ocak 2011, Pazar


HTML olarak bir dize oluşturmak için nasıl?Raylar üzerinde yakut:

Var

@str = "<b>Hi</b>"

ve erb benim görüşüm:

<%= @str %>

Sayfada ne gösterir: ben gerçekte ne istiyorum <b>Hi</b>Merhaba. "HTML olarak bir dize biçimlendirme? yorumlamak ruby yolu nedir


Edit: durumda

@str = "<span class=\"classname\">hello</span>"

Eğer benim görüşüme göre yaparsam

<%raw @str %>

HTML kaynak kod <span class=\"classname\">hello</span>ben gerçekten ne istiyorum <span class="classname">hello</span> (çift tırnak kaçan olan ters eğik çizgi olmadan). "" Bu tırnak çift? unescape için en iyi yolu nedir

CEVAP
2 Ocak 2011, Pazar


Ne, bir güvenlik önlemi olarak, Rayların kötü amaçlı kod içinde gömülü olabilir çünkü senin için dize kaçan. Ama eğer dize olduğunu Raylar söylersen html_safe, şuradan geçecek.

@str = "<b>Hi</b>".html_safe
<%= @str %>

YA

@str = "<b>Hi</b>"
<%= @str.html_safe %>

raw kullanarak gayet iyi çalışıyor, ama her bir dizeye dönüştürme, ve sonra html_safe arıyor. Bir dize olduğumu bildiğim halde, gereksiz bir adım atlar ve ne daha iyi yapar çünkü html_safe doğrudan demeyi tercih ederim. Dize kaçan hakkında bilgi ve XSS koruması this Asciicast.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ADDVOiCE

    ADDVOiCE

    28 Mayıs 2009
  • Orson Wang

    Orson Wang

    28 EKİM 2006
  • TVNorge

    TVNorge

    5 EKİM 2006