按created_at日期的降序排序对象数组

时间:2013-08-17 10:51:13

标签: ruby-on-rails ruby mongoid

我有从Mongoid检索到的一组Comment对象。如何按降序排列created_at日期对数组进行排序。

我尝试过以下代码:

all_comments = []
    all_comments.concat(question_comments).concat(answer_comments).sort_by { |x| -x[:created_at] }

我收到以下错误:

未定义方法` - @'for 2013-08-17 10:34:46 UTC:时间

1 个答案:

答案 0 :(得分:3)

您可以使用desc方法。

all_comments.concat(question_comments).concat(answer_comments).desc(:created_at)

如果结果集为Array,则可以使用sort

all_comments.concat(question_comments).concat(answer_comments).sort { |x,y| y.created_at <=> x.created_at }