2016-03-18 28 views
1

私はすべての企業イベントの視覚的タイムラインを作成します。タイムラインのHTMLはloopを使用して作成されます。2つの異なるActiveRecordコレクションを1つにまとめる

簡略化のため、2つのモデルを想定してください。Hire & Dealどちらのモデルにもdate属性とモデル固有の属性があります。両方のモデルのActiveRecordの結果をマージするには、次にを結合したハッシュをdateで1つのハッシュに結合します。

答えて

3

まあ、両方HireDealモデルを照会した結果は、オブジェクトの配列であること(コレクション)を想定し、その後、あなただけの新しい配列にそれらを連結し、sort_bydateによってアイテムをソートする+を使用します。

combined = (Hire.all + Deal.all).sort_by(&:date) 

または別で1つの収集連結するconcatを使用します。ansため

combined = Hire.all.concat(Deal.all).sort_by(&:date) 
+0

おかげでワー。この問題は、タイムリーが適切に表示されるように、 'date'で結合されたハッシュをソートする必要があるということです。どのようにこれを達成するための任意の提案? – Matthias

+1

ありがとうございました – Matthias

+0

あなたが気に入っていれば1つの短い質問:モデルでレコードを区別する方法の提案がありますか? – Matthias

関連する問題