繁体   English   中英

Rails / Activerecord将sort_by与多个模型和不同的属性名称一起用于排序日期

[英]Rails/Activerecord use sort_by with multiple models and different attribute names for the sorting dates

我有一个Rails应用程序,我想包括订单,报价等的列表。我目前在使用的视图中包括这些。

  def dashboard
    rfqs = Rfq.all.where(is_active: true)
    rfis = Rfi.all
    orders = Order.all
    order_reminders = OrderReminders.all
    @posts = (rfqs + rfis + orders).sort_by(&:created_at)
  end

在最后一行中,我想使用不同的属性对@posts进行排序。
因此,每个@post都有一个订购日期,但名称不同。

rfqs具有“到期”属性

rfis具有“日期”属性

订单具有“船”属性。

@posts = (rfqs.to_a + rfis.to_a + orders.to_a).sort_by do |post|
  if post.is_a?(Rfq)
    post.due
  elsif
    ..
  else
    ..
  end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM