Ele envolve o bloco fornecido na tag quando a condição é verdadeira e, caso contrário, retorna o bloco não embalado.
def conditional_tag(name, condition, options=nil, &block)
if condition
content_tag name, capture(&block), options
else
capture(&block)
end
end
Uso:
<%= conditional_tag :div, controller_name == "home", class: "above-fancy" do %>
<header class="site-header">
<%= primary_navigation %>
</header>
<% end -%>
Ela envolve <header>
em <div class="above-fancy">
apenas quando controller_name == "home"
é verdadeiro