2

データベースにクエリを実行してアクティビティのリストを作成していますが、updated_at属性の降順で並べ替えたいと思います。このアクティビティのリストは、他の2つのモデルを調べてマップを作成することで取得できます。つまり、次のようになります。

@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属性でこの配列を並べ替えるにはどうすればよいですか?

4

1 に答える 1

2

Ruby 1.9を使用している場合は、

activities_array.sort_by(&:updated_at)
于 2012-05-30T18:57:14.377 に答える