我在控制器里有这个:
@players = Player.all.order(:last_name).group_by{|player| player.last_name[0]}
在我看来:
- @players.each do |letter, players|
%h2= letter
- players.each do |player|
这将使玩家按字母顺序分组,但在这些组中没有按字母顺序排列,例如:
换句话说,亚当斯当然应该走在阿穆尼亚前面。
我做错了什么?
发布于 2016-08-08 19:10:30
有点令人惊讶,但我不确定group_by
是否保证了元素一旦分组后的顺序。修复方法是调整players.each
循环,使其类似于players.sort_by(&:last_name).each
。
https://stackoverflow.com/questions/38836622
复制相似问题