Rails ERb best practices (<% %> vs <% -%> vs <%- -%>)
-
29-09-2019 - |
Question
What is the recommended use of ERb in Rails when it comes to <% %>
(evaluate Ruby code), <% -%>
(evaluate Ruby code, suppress the trailing newline) and <%- -%>
(evaluate Ruby code, suppress the trailing newline and leading space)? It seems like <%- -%>
would make the output HTML look nicest, but <% %>
seems to be mostly what I see.
Solution
It's a personal preference. I use <% %> when I'm writing a loop or a block, because I want new lines there. I use <% -%> in rare cases of variable assignment. And I never use <%- -%> because that's one option too many.
OTHER TIPS
I just read in http://ruby-doc.org/ruby-1.9/classes/ERB.html that you can even use a single percent sign for oneliners (if there is nothing else on that line)
Example from the docs:
<%# ignore numerous minor requests -- focus on priorities %>
% priorities.each do |priority|
* <%= priority %>
% end
aaaalmost like HAML, isn't it? :)