I am very new to Ruby on Rails. I am working my way through the guides
at rubyonrails.org. It isn’t going very quickly but I am determined to
make
it work.
Here is a very basic question but I just can’t figure it out by looking
at
the examples. It is regarding embedded ruby.
What is the difference between these two forms of embedded code.
<%= … some code … %>
and
<% … some code … %>
Some lines have the equal sign in it and most of them don’t. I just
want
to know what the rule is for using either.
<%= %> appends to the output and <% %> doesn’t.
<% %> is for control statements such as if, whereas things that
generate
HTML or strings to be included in the document should use <%= %>.
For example:
<% if should_apologize? %>
<%= “I’m sorry #{name}.” %>
<% else %>
<%= “I’m not sorry. You deserved it, #{name}.” %>
<% end %>