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
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" SafeBuffer
s (html_safe
büyü yapan sınıf) çalışması ile ilgili güzel bir açıklama.
Objective C HTML escape/unescape...
HTML varlıklar Javascript Unescape?...
Nasıl bazı HTML etiketleri için rasgel...
/HTML CSS: metni italik yapmak için do...
Yüce Metin içinde HTML etiketi kapanış...