Ruby on rails 如何从rails中的多个模型创建所有对象的数组

Ruby on rails 如何从rails中的多个模型创建所有对象的数组,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在rails 2.工作。。我有一个疑问 在我的应用程序中,我有3个模型,如 博客、维基、媒体 我正在尝试创建一个类似@final的数组,其中包含在我的应用程序下发布的所有博客、wiki和媒体 我试过了 @blogs = Blog.all @wikis = Wiki.all @medias = Media.all @final = [] @final << @blogs << @wikis << @medias 这正是我所需要的。。但它只是列出了所有的博客

我在rails 2.工作。。我有一个疑问

在我的应用程序中,我有3个模型,如

博客、维基、媒体

我正在尝试创建一个类似@final的数组,其中包含在我的应用程序下发布的所有博客、wiki和媒体

我试过了

@blogs = Blog.all
@wikis = Wiki.all
@medias = Media.all

@final = []
@final << @blogs << @wikis << @medias

这正是我所需要的。。但它只是列出了所有的博客、媒体和维基。如何根据特定对象的创建日期列出所有实体

如果使用了错误的运算符,则需要:

@final = @blogs + @wikis + @medias
对于阵列,以下命令是有效的:

将给定对象推送到该数组的末尾

鉴于:

返回通过将两个数组连接在一起生成第三个数组而生成的新数组

如果你真的喜欢
的话,你也可以使用试试

返回一个新数组,该数组是此数组的一维展平 (递归地)


关于
,请解释更多的含义:“只保留一个数组,其中包含从3个模型返回的对象”我认为您的排序问题应该进入另一个问题。(否则请尝试使用
order('created_on')
…)@mu太短了——您好,我尝试了+运算符,它起作用了。但是如何根据每个项目的创建日期列出它们呢object@Jasmine:对不起,我没有回答你问题的那一部分。我已经添加了一个更新来涵盖它。在
最终=(@blogs@powerMicha:是的,这将修改
@blogs
,但是
@final
将是正确的,我将添加一个更新来解决这个问题。谢谢。@mu太短了--如何在最终数组中应用限制??
@final = @blogs + @wikis + @medias
@final = (@final << @blogs << @wikis << @medias).flatten
@final.sort_by(&:created_at)
@final = [@blogs, @wikis, @medias]
@final = @blogs + @wikis + @medias