2016-03-18 33 views
1

'da birleştirmek Tüm şirket olaylarının görsel bir zaman çizelgesi oluşturmak istiyorum. Zaman çizelgesi için HTML, loop kullanılarak oluşturulur.İki farklı ActiveRecord koleksiyonunu bir

Basitlik için, iki modeli & Deal kabul edelim. Her iki model de date özniteliğine ve bazı modele özgü özniteliklere sahiptir. Her iki modelin ActiveRecord sonuçlarını ve order kombine hash değerini date ile nasıl birleştirebileceğimi tek bir hashta nasıl birleştiririm?

cevap

3

Eh, hem Hire ve Deal modelleri sorgulama sonucu nesneler dizisi (toplama), o zaman sadece sort_by ile date öğeleri yeni diziye bağlamak ve sıralamak için + kullanmak olduğunu varsayarak:

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

veya diğeriyle bir koleksiyona bitiştirmek için concat kullanın: ans için

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

sayesinde Biz. Bununla ilgili sorun, birleşik hashın timelinin düzgün bir şekilde görüntülenmesi için “date” ile sıralanmasına ihtiyaç duymam. Bunu nasıl başaracağınıza dair herhangi bir öneriniz var mı? – Matthias

+1

Bunun için çok teşekkürler – Matthias

+0

Eğer böyle bir soru sorarsanız kısa bir soru: Kayıtları Modele göre ayırmak için bir öneriniz var mı? – Matthias