Как избежать неправильного размещения тегов HTML, вызванного отступом в шаблоне Slim? - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть следующий тонкий код в представлении Rails:

- @collection_tags.each do |c|
    .cell.small-9.medium-4.large-3
      = content_tag :h2, c.name
      .brands-list
        - first_letter = nil
        - @brands.each do |brand|
          - if brand.page.tags.where(group_id: APP_CONFIG[:collection_tags_group_id] || 2).first.id == c.id
            - if brand.short_title.first.upcase != first_letter
              - first_letter = brand.short_title.first.upcase
              .letter-block
                .letter
                  = first_letter
                ul.menu.vertical
                  li
                    = link_to brand.short_title.capitalize, '#'
            - else
              li
                = link_to brand.short_title.capitalize, '#'

Вот результат .Последние два элемента должны быть помещены в последний блок, так как буква все та же, но я не могу понять, как это сделать, поскольку Slim закрывает теги HTML на основе отступа.

Любой способ заставить его работатьв Slim или я должен просто вернуться в ERB для этого конкретного представления?

1 Ответ

0 голосов
/ 21 декабря 2018

Глядя на ваш вывод, кажется, что slim делает правильные вещи.Попробуйте сделать отступ для вторых li строк, чтобы соответствовать уровню отступа li в части then оператора if.Это должно исправить вашу проблему.

...