instance method tag

Ruby on Rails edge

Available in: v2.2.3 v2.3.18 v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3.2 v8.0.5.1 v8.1.3.1 edge

Signature

tag(name = nil, options = nil, open = false, escape = true)

Modern syntax

Builds HTML5 compliant tags with a tag proxy. Every tag can be built with:

tag.<tag name>(optional content, options)

where tag name can be e.g. br, div, section, article, or any tag really.

Returns an instance of TagBuilder when invoked without positional, keyword, or block arguments.

Legacy syntax

Returns an HTML tag.

The following format is for legacy syntax support. It will be deprecated in future versions of Rails.

tag(name, options = nil, open = false, escape = true)

It returns an empty HTML tag of type name which by default is XHTML compliant. Set open to true to create an open tag compatible with HTML 4.0 and below. Add HTML attributes by passing an attributes hash to options. Set escape to false to disable attribute value escaping.

Options

You can use symbols or strings for the attribute names.

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 pointing to a hash of sub-attributes.

Examples
tag("br")
# => <br />

tag("br", nil, true)
# => <br>

tag("input", type: 'text', disabled: true)
# => <input type="text" disabled="disabled" />

tag("input", type: 'text', class: ["strong", "highlight"])
# => <input class="strong highlight" type="text" />

tag("img", src: "open & shut.png")
# => <img src="open &amp; shut.png" />

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-name="Stephen" data-city-state="[&quot;Chicago&quot;,&quot;IL&quot;]" />

tag("div", class: { highlight: current_user.admin? })
# => <div class="highlight" />

Parameters

name opt = nil
options opt = nil
open opt = false
escape opt = true
Source
# File actionview/lib/action_view/helpers/tag_helper.rb, line 1671
      def tag(name = nil, options = nil, open = false, escape = true)
        if name.nil?
          tag_builder
        else
          ensure_valid_html5_tag_name(name)
          "<#{name}#{tag_builder.tag_options(options, escape) if options}#{open ? ">" : " />"}".html_safe
        end
      end

Defined in actionview/lib/action_view/helpers/tag_helper.rb line 1671 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionView::Helpers::TagHelper

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close