在rails中合并两个不同对象的数组

时间:2011-09-21 10:53:32

标签: ruby-on-rails ruby-on-rails-3

好的,我已经为这个网站建立了一个状态订阅源,它向用户显示他们正在关注的用户最近添加的艺术作品。我有另一个Feed,显示了最近添加的跟踪用户评论,很快就会更改为添加到当前用户提交作品的评论。

无论如何,我想知道如何将两个阵列合并到同一个Feed中。因此,Feed将按照由。

创建的顺序显示两个数组

我认为在我的模型中(定义了我的Feed,见下文),我会调用这两个查询,然后将它们一起添加,然后按created_at排序。

在视图中,我将遍历数组,并使用if / else语句正确显示活动。

我如何实际合并和排序数组?

编辑 - 我应该指出我的Feed在我的用户模型中定义为

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

1 个答案:

答案 0 :(得分:3)

您可以将两个数组一起添加,然后按created_at进行排序,如下所示:(array1 + array2).sort_by(&:created_at)