У Haml строгая иерархия, поэтому последний div либо должен быть вложен во все случаи, либо class должен быть рассчитан отдельно, например вот так:
- klass = 'c3'
- if condition1?
- klass = 'c1'
- elsif condition2?
- klass = 'c2'
%div{class: klass}
%div
Этот див вставлен в другой
А вообще эту логику нужно вынести в идеале в helper.