合并每个语句的2个模型

时间:2016-01-14 15:07:35

标签: ruby-on-rails ruby

我有2个型号。一个是页面浏览的事件跟踪器,另一个是搜索历史的模型。

我需要提供将这两者绑定在一起的通知,然后通过每个语句按created_at对它们进行排序。

我将如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以对包含多种类型对象的数组进行排序。请尝试以下方法:

(ModelA.all + ModelB.all).sort_by(&:created_at)

假设您只需要排序,可以通过向查询添加select函数来减少内存消耗。您可以在:created_at属性后追加您需要访问的任何其他字段。

(ModelA.all.select(:created_at) + ModelB.all.select(:created_at).sort_by(&:created_at)