Building plain text emails with an .erb template doesn't allow you to indent code like you normally do in HTML mails.
<%= 'foo' if bar %>
"\n"
if bar is false
"foo\n"
if bar is true
<%= nil %>
"\n"
<% if true %>
<%= 'foo' %>
<% end %>
" foo"
<%= 'foo' %>
<%= 'bar' %>
"foo\n\nbar\n"
Write unindented code to get the expected result.
<% if bar %>
<%= 'bar' %>
<% end %>
<%= 'foo' %>
<%= 'bar' %>
.erb has two approaches to handle leading spaces (<%- %>
) and trailing newlines (<% -%>
).
ERB.new(" <% %>foo").result => " foo"
ERB.new(" <%- %>foo", nil, '-').result => "foo"
ERB.new("<% %>\nfoo\n").result => "\nfoo\n"
ERB.new("<% -%>\nfoo\n", nil, '-').result => "foo\n"
new(str, safe_level=nil, trim_mode=nil, eoutvar='_erbout')
<% if true %>
<%= 'bar' %>
<% end %>
<%= 'foo' %>
<%= 'bar' %>
bar
foo
bar
<% if true %>
<%= 'bar' %>
<% end %>
<%= 'foo' %>
<%= 'bar' %>
bar
foo
bar