Railsの異なるオブジェクトの2つの配列をマージする

ruby-on-rails ruby-on-rails-3
Railsの異なるオブジェクトの2つの配列をマージする

わかりました。Iveはこのサイトのステータスフィードを作成しました。これは、フォローしているユーザーの最近追加されたアートワークをユーザーに表示します。 フォローしているユーザーが最近追加したコメントを表示する別のフィードがあります。これは、現在のユーザーが送信した作品に追加されるコメントにすぐに変更されます。

とにかく、2つの配列を同じフィードにマージする方法を考えていました。 そのため、フィードは両方の配列を作成者の順に表示します。

私のモデル(私のフィードが定義されている、以下を参照)では、2つのクエリを呼び出し、それらを一緒に追加して、created_atでソートすると考えています。

ビューでは、配列をループし、if / elseステートメントを使用してアクティビティを正しく表示します。

実際に配列をマージおよびソートするにはどうすればよいですか?

編集-フィードはユーザーモデルで次のように定義されていることを指摘する必要があります。

  def feed
    Image.followed_by(self.id)
    Comment.followed_by(self.id)
  end

  0  0


ベストアンサー

2つの配列を一緒に追加して、create_atで次のように並べ替えることができます: (array1 + array2).sort_by(&:created_at)

3


タイトルとURLをコピーしました