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

标签 ruby-on-rails ruby sorting ruby-on-rails-4 activerecord

我想创建所有公司事件的可视化时间表。时间轴的 HTML 是使用 loop 构建的。

为简单起见,我们假设两种模型 HireDeal。两个模型都有一个 date 属性和一些模型特定的属性。如何合并两个模型的 ActiveRecord 结果,然后按 date order 合并的散列,形成一个我可以循环的散列?

最佳答案

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

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

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

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

关于ruby-on-rails - 将两个不同的 ActiveRecord 集合合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36094710/

相关文章:

c++ - 静态cpp中的非静态成员

mysql - 使用电子邮件创建新用户作为软删除用户

mysql - 如何使用使用表单参数找到的一个表的结果来查询另一个表 - Ruby on Rails

ruby-on-rails - Assets 管道未在本地服务器上编译

ruby - HTTP协议(protocol): How does one figure out where a site's homepage is located

ruby-on-rails - Rails 3 和 ActiveAdmin : get the value of an associated record on the form

ruby - 如何忽略参数化 Ruby 系统调用的输出

javascript - 根据另一个数组的顺序对数组进行排序

ruby-on-rails - 带有Youtube API请求的Fancybox

java - C 等同于 Java 中的 Arrays.sort - qsort? (我如何找到其实现的性质)