HAML压痕问题IF

gru*_*b4r 3 haml if-statement ruby-on-rails

这是我的代码:

-@activities.each do |a|
  -if @i%3 == 0
    %ul
  %li=link_to a.name, a
  -@i += 1
Run Code Online (Sandbox Code Playgroud)

我需要li在if语句中的ul里面.由于缩进,我无法做到这一点.我不能告诉李自动缩进吗?

谢谢

dom*_*esz 7

我想你想每次输出一个新的%ul @i%3 == 0,然后把%li标签放在那里.您可以执行以下操作:

-@activities.in_groups_of(3, false) do |activity_group|
  %ul
    -activity_group.each do |activity|
     %li=link_to activity.name, activity
Run Code Online (Sandbox Code Playgroud)

要查看有关该主题的更多信息,请访问:http://railscasts.com/episodes/28-in-groups-of

希望这可以帮助.