簡體   English   中英

Ruby或Rails在兩個/多個日期字段上排序

[英]Ruby or Rails sort on two/multiple date fields

看起來很簡單 - 我想組合兩個模型查詢並按日期DESC對它們進行排序,但日期字段的命名方式不同。

@news_and_posts = [News.all(:limit => 3, :order => "date_of_news DESC") + Post.all(:limit => 3, :order => "date_of_post DESC") 

我試過了

@news_and_posts = [News.all(:limit => 3, :order => "date_of_news DESC") + Post.all(:limit => 3, :order => "date_of_post DESC").sort_by {|n, p| [n.date_of_news, p.date_of_post]}

謝謝!

您應該使用一個別名來返回您想要比較的每個模型中實現的日期(例如,一個名為“date”的方法)。

然后按此date對列表進行排序:

(感謝@tokland更好的實施)

my_collection.sort_by(&:date)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM