我想开始按新字段对所有结果进行排序。不幸的是,我的很多旧字段都有nil
的时间戳。如何执行此方法并将所有nils
放在后面?
.sort{|a,b| b.offering_referral_timestamp <=> a.offering_referral_timestamp}
由于
答案 0 :(得分:3)
a <=> b
returns -1 if a < b
returns 0 if a == b
returns 1 if a > b
所以我认为这应该有效(如果你想要最后的所有nil,它们应该比其他元素更大):
.sort{|a,b| a.offering_referral_timestamp.nil? ? 1 : (b.offering_referral_timestamp.nil? ? -1 : a.offering_referral_timestamp <=> b.offering_referral_timestamp)}