通过对象的属性对rails活动记录对象的数组进行排序

时间:2012-05-30 17:23:29

标签: ruby-on-rails activerecord

我正在查询我的数据库以提出一系列活动,我希望它们按照updated_at属性的降序排序。我通过浏览另外两个模型和做地图得到了这个活动清单,即:

@listings = current_user.listings.includes(:deals)
map_of_listings = @listings.map { |listing| listing.deals }
@deals = map_of_listings.flatten

map_of_deals = @deals.map { |deal| deal.activities }
activities_array = map_of_deals.flatten

现在的问题是,数组中的活动按交易分组,而不是按上次更新时的降序列出。如何通过活动的updated_at属性订购此数组?

1 个答案:

答案 0 :(得分:2)

如果您使用的是Ruby 1.9,则可以尝试

activities_array.sort_by(&:updated_at)