Мне кажется, что вы действительно хотите частичное - тот факт, что нет хорошего способа сделать это с этой иерархией, является для меня хорошим знаком того, что вы хотите частичное.Затем вы можете использовать его в другом месте, легко визуализировать коллекцию или просто разделить этот код на части.
Кроме того, если такая необходимость возникает в других местах вашего проекта, вы можете рассмотреть возможность использования другого значения по умолчанию макеты для различных форматов ответов.
Однако вы можете также рассмотреть этот шаблон:
%div{:class => expr ? 'one' : 'two'}
, который будет варьировать класс на основе expr
.У вас все равно останутся дополнительные div, но они могут быть другого пользовательского класса.