What is the difference between <%, <%=, <%# and -%> in ERB in Rails?

ghz 1years ago ⋅ 6441 views

Question

Can some one please describe the usage of the following characters which is used in ERB file:

<%   %>
<%=  %>
<%  -%>
<%#  %>

what's the usage of each one ?


Answer

<% %>

Executes the ruby code within the brackets.

<%= %>

Prints something into erb file.

<%== %>

Equivalent to <%= raw %>. Prints something verbatim (i.e. w/o escaping) into erb file. (Taken from [Ruby on Rails Guides](https://edgeguides.rubyonrails.org/active_support_core_extensions.html#output- safety).)

<% -%>

Avoids line break after expression.

<%# %>

Comments out code within brackets; not sent to client (as opposed to HTML comments).

Visit Ruby Doc for more infos about ERB.