gpt4 book ai didi

ruby-on-rails - 如何从 rails 中的许多模型创建所有对象的数组

转载 作者:数据小太阳 更新时间:2023-10-29 08:19:07 24 4
gpt4 key购买 nike

我正在使用 rails 2.. 我有疑问。

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

博客、维基、媒体

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

我试过

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

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

上面的最终数组中有 3 个数组..

但我希望保留最终数组,其中包含从 3 个模型返回的对象

怎么做?请提出建议

编辑

我试过的是

 @final = []
@blogs = Blog.all
@wikis = Wiki.all
@medias = Media.all
@final = @blogs + @wikis + @medias

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

最佳答案

您使用了错误的运算符,您想要这个:

@final = @blogs + @wikis + @medias

<< operator对于数组:

Pushes the given object on to the end of this array.

+ operator :

Returns a new array built by concatenating the two arrays together to produce a third array.

你也可以使用 flatten 如果你真的喜欢<<出于某种原因:

@final = (@final << @blogs << @wikis << @medias).flatten

但这有点毫无意义。如 powerMicha 所述,您需要启动 <<@final 链接(或一些临时数组)如果你不想修改任何 @blogs , @wikis , 或 @medias数组。

就排序而言,您可以使用 sort_by! :

@final.sort_by(&:created_at)

假设您有通常的 created_at对象上的方法。

关于ruby-on-rails - 如何从 rails 中的许多模型创建所有对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6758921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com