Вы можете использовать метод group_by
на @rinks_in_region
для группировки катков по городам, а затем использовать эти группировки для отображения городов и катков. Он возвращает хеш, сопоставляющий объект, по которому вы группируете, в данном случае город, со значениями в исходной коллекции, которые находятся в этой группе. Итак:
<% @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 -%>