From e97e89515187072063f353eee3a220c26aaf9afa Mon Sep 17 00:00:00 2001 From: Toby Sims Date: Fri, 26 Jul 2013 17:15:05 +0100 Subject: Added SanitizeHelper to rails guide docs [ci skip] Added SanitizeHelper to rails guide docs [ci skip] Added SanitizeHelper to rails guide docs update [ci skip] --- guides/source/action_view_overview.md | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) (limited to 'guides/source/action_view_overview.md') diff --git a/guides/source/action_view_overview.md b/guides/source/action_view_overview.md index 3542844f33..53a885d139 100644 --- a/guides/source/action_view_overview.md +++ b/guides/source/action_view_overview.md @@ -1520,6 +1520,72 @@ number_with_precision(111.2345) # => 111.235 number_with_precision(111.2345, 2) # => 111.23 ``` +### SanitizeHelper + +The SanitizeHelper module provides a set of methods for scrubbing text of undesired HTML elements. + +#### sanitize + +This sanitize helper will html encode all tags and strip all attributes that aren’t specifically allowed. + +```ruby +sanitize @article.body +``` + +If either the :attributes or :tags options are passed, only the mentioned tags and attributes are allowed and nothing else. + +```ruby +sanitize @article.body, tags: %w(table tr td), attributes: %w(id class style) +``` + +To change defaults for multiple uses, for example adding table tags to the default: + +```ruby +class Application < Rails::Application + config.action_view.sanitized_allowed_tags = 'table', 'tr', 'td' +end +``` + +#### sanitize_css(style) + +Sanitizes a block of CSS code. + +#### strip_links(html) +Strips all link tags from text leaving just the link text. + +```ruby +strip_links("Ruby on Rails") +# => Ruby on Rails +``` + +```ruby +strip_links("emails to me@email.com.") +# => emails to me@email.com. +``` + +```ruby +strip_links('Blog: Visit.') +# => Blog: Visit. +``` + +#### strip_tags(html) + +Strips all HTML tags from the html, including comments. +This uses the html-scanner tokenizer and so its HTML parsing ability is limited by that of html-scanner. + +```ruby +strip_tags("Strip these tags!") +# => Strip these tags! +``` + +```ruby +strip_tags("Bold no more! See more") +# => Bold no more! See more +``` + +NB: The output may still contain unescaped ‘<’, ‘>’, ‘&’ characters and confuse browsers. + + Localized Views --------------- -- cgit v1.2.3