ERB хорош в основном, если у вас есть веб-дизайнер, который будет работать с простым HTML и не знает ни haml, ни slim. Таким образом, он может писать HTML, а вы можете встроить рубиновую логику с соответствующими тегами.
Если вы работаете и над HTML, и над рубиновой логикой, или ваш дизайнер готов изучить что-то новое (например, HAML), я бы выбрал HAML. Он намного более дружелюбен к рубину, значительно сокращает количество символов и намного удобнее, чем ERB.
Например (взято с официального сайта HAML ):
В ERB ваше представление будет выглядеть так:
<div id="profile">
<div class="left column">
<div id="date"><%= print_date %></div>
<div id="address"><%= current_user.address %></div>
</div>
<div class="right column">
<div id="email"><%= current_user.email %></div>
<div id="bio"><%= current_user.bio %></div>
</div>
</div>
В HAML это будет выглядеть так:
#profile
.left.column
#date= print_date
#address= current_user.address
.right.column
#email= current_user.email
#bio= current_user.bio
Намного чище!
Что касается разницы между HAML и SLIM - я никогда толком не работал с SLIM, но думаю, это дело вкуса - взгляните на оба синтаксиса и решите, какой из них вам больше нравится. Я не думаю, что между этими двумя (HAML / SLIM) есть явный победитель.