gpt4 book ai didi

ruby-on-rails - 如何按 created_at 属性对集合进行排序

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

我正在使用 Ruby on Rails 2.3.8,我有一个从其他两个集合构建的集合,如下所示:

@coll1 = Model1.all
@coll2 = Model2.all

@coll = @coll1 << @coll2

现在,我想按子孙顺序按 created_at 属性对该集合进行排序。所以,我做了以下事情:

@sorted_coll = @coll.sort {|a,b| b.created_at <=> a.created_at}

我有以下异常:

undefined method `created_at' for #<Array:0x5c1d440>

甚至认为它存在于那些模型中。

谁能帮帮我吗?

最佳答案

您将另一个数组作为另一个元素插入 @coll1 数组,您有两个选择:

展平结果数组:

@coll.flatten!

或者最好只使用 + 方法:

@coll = @coll1 + @coll2

对于排序,您应该使用 sort_by :

@sorted_coll = @coll.sort_by { |obj| obj.created_at }

关于ruby-on-rails - 如何按 created_at 属性对集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370246/

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