SORU
22 Kasım 2010, PAZARTESİ


unescape html raw vs vs html_safe h

Şu dize var sanırım

@x = "<a href='#'>Turn me into a link</a>"

Benim görüşüme göre, görüntülenecek bir bağlantı istiyorum. O, @her şey x ve bir dize olarak çıkmamış görüntülenmesini istemiyorum. Kullanma arasında ne fark var

<%= raw @x %>
<%= h @x %>
<%= @x.html_safe %>

?

CEVAP
23 Kasım 2010, Salı


Dikkate Raylar 3:

html_safe aslında "HTML Kasa (bundan biraz daha karmaşık, ama temelde, özel olarak. dize ayarlar Bu şekilde, yardımcıları ve modellerden HTML Güvenli dizeleri iade edebilirsiniz.

h tek bir yardımcısı dan beri denetleyicisi veya Görünüm içinde kullanılabilir. Çıktı kaçtı olmaya zorlar. Gerçekten itiraz değil, ama büyük olasılıkla artık kullanmayacağım: tek kullanım "" html_safe bir beyan, oldukça sıradışı. dönmek için

Ön yerleştirmeyi ifade ile raw aslında eşdeğer arama to_s zincirleme html_safe, ama ilan bir yardımcısı gibi h, yani sadece kullanılan denetleyicileri ve görüşlerini.

"SafeBuffers and Rails 3.0" SafeBuffers (html_safe büyü yapan sınıf) çalışması ile ilgili güzel bir açıklama.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Saquet

    Caroline Saq

    1 EKİM 2011
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • ODN

    ODN

    26 Kasım 2006