当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 将两个不同的ActiveRecord集合合并为一个

来源:互联网 收集:自由互联 发布时间:2021-06-23
我想创建所有公司活动的视觉时间表.时间轴的 HTML是使用循环构建的. 为简单起见,我们假设两个模型Hire应对.两个模型都具有日期属性和一些特定于模型的属性.如何合并两个模型的Act
我想创建所有公司活动的视觉时间表.时间轴的 HTML是使用循环构建的.

为简单起见,我们假设两个模型Hire&应对.两个模型都具有日期属性和一些特定于模型的属性.如何合并两个模型的ActiveRecord结果,然后按日期对组合的哈希进行排序,将其组合成一个我可以循环的哈希?

好吧,假设查询Hire和Deal模型的结果是一个对象数组(集合),那么你只需使用 +将它们连接成一个新数组,并按日期对项目 sort_by进行排序:

combined = ( Hire.all + Deal.all ).sort_by(&:date)

或使用concat将一个集合与另一个集合连接起来:

combined = Hire.all.concat( Deal.all ).sort_by(&:date)
网友评论