Le h est un alias pour html_escape, qui est une méthode utilitaire pour échapper à tous les caractères de balise HTML:
html_escape('<script src=http://ha.ckers.org/xss.js></script>')
# => <script src=http://ha.ckers.org/xss.js></script>
Si vous avez besoin de plus de contrôle, aller avec la méthode sanitize, qui peut être utilisé comme une liste blanche des balises et les attributs pour permettre:
sanitize(@article.body, :tags => %w(table tr td), :attributes => %w(id class style))
Je permettrait à l'utilisateur de quoi que ce soit d'entrée, la stocker en l'état dans la base de données, et d'évasion lors de l'afficher . De cette façon, vous ne perdez aucune information entrée. Vous pouvez toujours modifier la logique d'échappement plus tard ...
Votre plugin fonctionne très bien. Merci! – djburdick
Pourrait-on mettre à jour ceci pour Rails 3? – slhck
Yuck. Les données échappées dans votre base de données sont une mauvaise idée pour la santé mentale. – Ashe