What difference does the "-" at the end make?
What difference does the "-" at the end make?
-%> eats the newline.
.<%= abc %><%= xyz %>. will turn into
.abc xyz .
.<%= abc -%><%= xyz -%>. will turn into
.abcxyz.
-philip
Thanks Philip, that makes sense.
According to Agile Development with Rails this is not quite correct. The - is supposed to remove the newline after the -%> So <%= “abc” %><%= “def” %>
<%= “ghi” %><%= “klm” %>
will provide
abcdef ghijkl
but <%= “abc” %><%= “def” -%>
<%= “ghi” %><%= “klm” %>
will provide
abcdefghijkl
However on testing this in Rails 2.2.2 and viewing the source of the page, I am not seeing this. The - seems to make no difference, I see the two line output in both cases.
Can anyone elucidate?
Colin
Ah... the -%> is only "end of line". Didn't realize that.
I just plugged this into 2.2.2:
<%= "abc" %><%= "def" %> <%= "ghi" %><%= "klm" %>
Chances are your web server supports some sort of output compression, so all this doesn't really matter much. Surely you don't depend on newlines to properly display a page, right?
Which is what you should get, I tried exactly the same and got
abcdef
ghiklm
Is the -%> only used with a <%= ? Can it be used with, for example <% end -%>
Yes it can, in fact that is possibly the main use as it removes the line completely from the source. Also useful with ‘for’ and so on. Colin