如何避免由于Slim模板中的缩进而导致HTML标签的错误放置



我在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查看这个特定的视图?

查看您的输出,slim似乎做了正确的事情。尝试缩进第二行li,以匹配if的then部分中li的缩进级别。这将解决您的问题。

最新更新