El h es un alias para html_escape, que es un método de utilidad para escapar de todos los caracteres de etiqueta HTML:
html_escape('<script src=http://ha.ckers.org/xss.js></script>')
# => <script src=http://ha.ckers.org/xss.js></script>
Si necesita más control, vaya con el método sanitize, que puede ser utilizado como una lista blanca de etiquetas y atributos para permitir:
sanitize(@article.body, :tags => %w(table tr td), :attributes => %w(id class style))
que permitiría al usuario ingresa nada, almacenarla como está en la base de datos, y escapar al mostrar que . De esa forma no perderá ninguna información ingresada. Siempre puede modificar la lógica de escape más adelante ...
Su plugin funciona muy bien. ¡Gracias! – djburdick
¿Quiere actualizar esto para Rails 3? – slhck
Yuck. Los datos escapados en su base de datos son una mala idea para la cordura. – Ashe