3

看起来很简单 - 我想组合两个模型查询并按日期 DESC 对它们进行排序,但日期字段的名称不同。

@news_and_posts = [News.all(:limit => 3, :order => "date_of_news DESC") + Post.all(:limit => 3, :order => "date_of_post DESC") 

我试过了

@news_and_posts = [News.all(:limit => 3, :order => "date_of_news DESC") + Post.all(:limit => 3, :order => "date_of_post DESC").sort_by {|n, p| [n.date_of_news, p.date_of_post]}

谢谢!

4

1 回答 1

4

您应该使用一个别名来返回您要比较的每个模型中实现的日期(例如称为“日期”的方法)。

然后按以下方式对您的列表进行排序date

(感谢@tokland 提供更好的实施)

my_collection.sort_by(&:date)
于 2013-01-07T17:42:34.823 回答