rieles Considerando 3:
html_safe
realidad "establece la cadena", como HTML seguro (que es un poco más complicado que eso, pero es básicamente). De esta forma, puede devolver cadenas HTML seguras desde ayudantes o modelos a voluntad.
h
solo se puede utilizar desde un controlador o vista, ya que es de un ayudante. Forzará que la salida se escape. No está en desuso, pero lo más probable es que ya no lo uses: el único uso es "revertir" una declaración html_safe
, bastante inusual.
agregar el prefijo a su expresión con raw
es en realidad equivalente a llamar to_s
encadenado con html_safe
en él, pero se declara en un ayudante, al igual que h
, por lo que sólo se puede utilizar en controladores y vistas.
"SafeBuffers and Rails 3.0" es una buena explicación sobre cómo funciona el SafeBuffer
s (la clase que hace la magia html_safe
).
No diría que 'h' alguna vez estará en desuso. Usar '" Hola
# {h @ user.name} ". Html_safe' es bastante común y un uso aceptado. – maletor
@Maletor uso interesante, aunque todavía creo que entra en la categoría "inusual". –
@ Fábio Batista No es raro en absoluto, aquí está en un Railscast en la parte inferior: http://asciicasts.com/episodes/204-xss-protection-in-rails-3 –