我正在使用RubyonRails2.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 }