2011-05-10 72 views
0

我想要前四个未读的通知notifications.where(:read => false)[0,4].map。但是,如果未读取的通知数少于四个,我希望四个通知中的其余部分填充读取的通知。我该怎么做呢?如何获得此自定义数组?

(此外,.where(:read => false)似乎并没有工作。)

回答

1

尝试:

(notifications.where(:read => false).limit(4) + notifications.where(:read => true).limit(4))[0,4] 
1

您也可以尝试

notifications.order(:read).limit(4) 

这应该给你falses第一则trues。