Sql 如何在Rails的同一容器中渲染和排序多个不同的对象?

Sql 如何在Rails的同一容器中渲染和排序多个不同的对象?,sql,ruby-on-rails,Sql,Ruby On Rails,我有两种不同类型的对象,比如Object1类和Object2类。我希望能够在同一个容器中渲染、混合和排序它们 在控制器操作中: @objects1=Object1.reorder('created_at DESC') @objects2=Object2.reorder('created_at DESC') 他认为: <div class="container"> <%= render @objects1 %> <%= render @objects2

我有两种不同类型的对象,比如Object1类和Object2类。我希望能够在同一个容器中渲染、混合和排序它们

在控制器操作中:

@objects1=Object1.reorder('created_at DESC')
@objects2=Object2.reorder('created_at DESC')
他认为:

 <div class="container">
   <%= render @objects1 %>
   <%= render @objects2 %>
 </div>


我可以使用什么样的SQL/ActiveRecord语句来对它们进行排序?

将它们组合成一个数组,然后对数组进行排序如何

@all_objects = objects1.concat(objects2).sort!{ |a,b| a.created_at <=> b.created_at }
@all_objects=objects1.concat(objects2.sort!{| a,b | a.created_at b.created_at}

您也可以
。按排序!(&:created_at)
.Mu。明亮的谢谢这实际上是我发现的唯一一种使用属性_alias'对两个不同对象进行排序的方法。这里的答案和任何其他排序方法都会失败。