Это не синтаксис руби
Это синтаксис
HAML
Что б в нем разобраться, нужно понимать HTML
Если у вас постоянно нечетное число пробелов, значит вы их или вручную ставите (не табом) или копируете из разных источников.
Вообще, это дело привычки. Если неудобно, используйте обычный ERB. С помощью, например, -
https://github.com/haml/html2haml - можно перевести все HAML в ERB