Ale*_*oul 2 loops for-loop ruby-on-rails
我正在寻找一个我们可以在循环中使用的函数来执行此操作:
<% for rink in @rinks_in_region %>
<%= rink.city #Show Only if city (n-1) != n %>
<%= link_to_rink(rink.name+" Ice Rink",rink) %>
<br>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
基本上只有当它与前一个城市不同时才显示该城市.
合理?谢谢你的帮助!
Alextoul
您可以使用该group_by方法@rinks_in_region按城市对溜冰场进行分组,然后使用这些分组来显示城市和溜冰场.它返回一个哈希映射,将您正在分组的内容(本例中为city)映射到该组中原始集合中的值.所以:
<% @rinks_in_region.group_by(&:city).each_pair do |city, rinks| %>
<%= city %>
<% rinks.each do |rink| %>
<%= link_to_rink(rink.name+" Ice Rink",rink) %>
<br/>
<% end -%>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
276 次 |
| 最近记录: |