如何在ruby-on-rails的render方法中给每4个元素添加特定类?
- 内容介绍
- 文章标签
- 相关推荐
本文共计684个文字,预计阅读时间需要3分钟。
假设您有16个结果,需要在每个结果的第4项添加一个无边界类别。由于左侧的每个项目都需要一个边界来创建间隔,最后一个这样的操作可能会破坏布局。以下是一种可能的解决方案:
方法:
1.调整间隔:在添加无边界类别之前,适当调整其他类别之间的间隔,确保布局不会因为最后一个操作而破坏。
2.动态调整:使用编程方法动态调整类别间隔,根据类别数量自动调整间隔大小。
3.分组处理:将结果分成几组,每组内添加无边界类别,避免在最后破坏整体布局。
示例:
假设原始结果为:1.项目A
2.项目B
3.项目C
4.项目D
5.项目E
6.项目F
7.项目G
8.项目H
9.项目I
10.项目J
11.项目K
12.项目L
13.项目M
14.项目N
15.项目O
16.项目P
添加无边界类别后的结果为:
1.项目A
2.项目B
3.项目C
4.项目D(无边界)
5.项目E
6.项目F
7.项目G
8.项目H
9.项目I
10.项目J
11.项目K
12.项目L
13.项目M
14.项目N
15.项目O
16.项目P(无边界)
通过以上方法,您可以在保持布局完整的前提下,为每个结果的第4项添加无边界类别。
假设我有16个结果在每个第4项我需要添加一个类“无边距”(因为左边的每个项目需要一个边距来创建间距,但最后一个这样做会破坏布局,因此需要这个).
最好的方法是什么?
我现在非常喜欢它.
render :partial => @collection _collection.html.haml stuff
有什么东西我可以放在部分中来解决这个问题,还是必须在外面发生?
谢谢.
渲染集合时,Rails会创建隐藏索引.在这种情况下,您可以将模块与索引组合以获取结果.# _partial.html.erb <div class="<% if (partial_counter % 4) == 0 %>no-margin<% end %>"> ... </div> # action <%= render => "partial", :collection => @collection %>
更好的是,将逻辑提取到Helper方法中.
注意.计数器的名称是< partial_name> _counter.
本文共计684个文字,预计阅读时间需要3分钟。
假设您有16个结果,需要在每个结果的第4项添加一个无边界类别。由于左侧的每个项目都需要一个边界来创建间隔,最后一个这样的操作可能会破坏布局。以下是一种可能的解决方案:
方法:
1.调整间隔:在添加无边界类别之前,适当调整其他类别之间的间隔,确保布局不会因为最后一个操作而破坏。
2.动态调整:使用编程方法动态调整类别间隔,根据类别数量自动调整间隔大小。
3.分组处理:将结果分成几组,每组内添加无边界类别,避免在最后破坏整体布局。
示例:
假设原始结果为:1.项目A
2.项目B
3.项目C
4.项目D
5.项目E
6.项目F
7.项目G
8.项目H
9.项目I
10.项目J
11.项目K
12.项目L
13.项目M
14.项目N
15.项目O
16.项目P
添加无边界类别后的结果为:
1.项目A
2.项目B
3.项目C
4.项目D(无边界)
5.项目E
6.项目F
7.项目G
8.项目H
9.项目I
10.项目J
11.项目K
12.项目L
13.项目M
14.项目N
15.项目O
16.项目P(无边界)
通过以上方法,您可以在保持布局完整的前提下,为每个结果的第4项添加无边界类别。
假设我有16个结果在每个第4项我需要添加一个类“无边距”(因为左边的每个项目需要一个边距来创建间距,但最后一个这样做会破坏布局,因此需要这个).
最好的方法是什么?
我现在非常喜欢它.
render :partial => @collection _collection.html.haml stuff
有什么东西我可以放在部分中来解决这个问题,还是必须在外面发生?
谢谢.
渲染集合时,Rails会创建隐藏索引.在这种情况下,您可以将模块与索引组合以获取结果.# _partial.html.erb <div class="<% if (partial_counter % 4) == 0 %>no-margin<% end %>"> ... </div> # action <%= render => "partial", :collection => @collection %>
更好的是,将逻辑提取到Helper方法中.
注意.计数器的名称是< partial_name> _counter.

