Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Additional documentation for data-* attributes.

Signed-off-by: Xavier Noria <fxn@hashref.com>
  • Loading branch information...
commit cfcef34bb54bce0cda77da4ae99774fa501ab713 1 parent 4120e95
@fxn fxn authored
Showing with 17 additions and 10 deletions.
  1. +17 −10 actionpack/lib/action_view/helpers/tag_helper.rb
View
27 actionpack/lib/action_view/helpers/tag_helper.rb
@@ -24,13 +24,20 @@ module TagHelper
# escaping.
#
# ==== Options
- # Use +true+ with boolean attributes that can render with no value (like
- # +disabled+ and +readonly+).
+ # Use +true+ with boolean attributes that can render with no value, like
+ # +disabled+ and +readonly+.
#
- # HTML5 data-* attributes can be set with a single +data+ key and a hash
- # value of sub-attributes. Sub-attribute keys will be dasherized.
+ # HTML5 <tt>data-*</tt> attributes can be set with a single +data+ key
+ # pointing to a hash of sub-attributes.
#
- # You can use symbols or strings for the attribute names.
+ # Sub-attribute keys may be strings or symbols. To play nicely with
+ # JavaScript conventions +dataset+ they will be dasherized so that a key
+ # +user_id+ would render as <tt>data-user-id</tt> and thus accessed as
+ # <tt>dataset.userId</tt>.
+ #
+ # Values are encoded to JSON, with the exception of strings and symbols.
+ # This may come in handy when using jQuery's HTML5-aware <tt>.data()<tt>
+ # from 1.4.3.
#
# ==== Examples
# tag("br")
@@ -39,17 +46,17 @@ module TagHelper
# tag("br", nil, true)
# # => <br>
#
- # tag("input", { :type => 'text', :disabled => true })
+ # tag("input", :type => 'text', :disabled => true)
# # => <input type="text" disabled="disabled" />
#
- # tag("img", { :src => "open & shut.png" })
+ # tag("img", :src => "open & shut.png")
# # => <img src="open &amp; shut.png" />
#
- # tag("img", { :src => "open &amp; shut.png" }, false, false)
+ # tag("img", {:src => "open &amp; shut.png"}, false, false)
# # => <img src="open &amp; shut.png" />
#
- # tag("div", { :data => { :name => 'Stephen', :city_state => %w(Chicago IL) } })
- # # => <div data-city-state="[&quot;Chicago&quot;,&quot;IL&quot;]" data-name="Stephen" />
+ # tag("div", :data => {:name => 'Stephen', :city_state => %w(Chicago IL)})
+ # # => <div data-name="Stephen" data-city-state="[&quot;Chicago&quot;,&quot;IL&quot;]" />
def tag(name, options = nil, open = false, escape = true)
"<#{name}#{tag_options(options, escape) if options}#{open ? ">" : " />"}".html_safe
end
Please sign in to comment.
Something went wrong with that request. Please try again.