例如,我想按游戏日期排序,然后如果日期相同,按团队排序?最好的方法是什么?
@teams = @user.teams
@games = @teams.reduce([]) { |aggregate, team| aggregate + team.games}.sort_by(&:game_date)
例如,我想按游戏日期排序,然后如果日期相同,按团队排序?最好的方法是什么?
@teams = @user.teams
@games = @teams.reduce([]) { |aggregate, team| aggregate + team.games}.sort_by(&:game_date)
最好的方法是让你的数据库来做,但是如果你想使用Ruby:
@games = @data.sort_by {|x| [x.game_date, x.team] }
Array
的排序行为是按第一个成员、第二个成员、第三个成员进行排序,依此类推.因为您希望日期作为主键,团队作为第二个键,所以这两个元素的数组将按您希望的方式排序.