August 23, 2017
Rails is great at generating HTML using helpers such as content_tag and tag.
content_tag(:div, , class: "home")
<div class="home">
</div>
Rails 5.1 has introduced
new syntax for this in the form of
enhanced tag
helper.
Now that same HTML div tag can be generated as follows.
tag.div class: 'home'
<div class="home">
</div>
Earlier, the tag type was decided by the positional argument to the
content_tag
and tag
methods but now we can just call the required tag type
on the tag
method itself.
We can pass the tag body and attributes in the block format as well.
<%= tag.div class: 'home' do %>
Welcome to Home!
<% end %>
<div class="home">
Welcome to Home!
</div>
The new tag
helper is also HTML 5 compliant by default, such that it respects
HTML5 features such as
void elements.
The old syntax of content_tag
and tag
methods is still supported but might
be deprecated and removed in future versions of Rails.
If this blog was helpful, check out our full blog archive.