2013-02-14 12 views
0

我有一個社交媒體應用程序與飼料。對於主站點提要和其他各個部分,我想抓取最近的一個Feeditems作爲示例,然後按日期排序(created_at)。Rails - 如何從模型中隨機抽樣限制爲RECENT記錄?

Feeditem.find(:all, order: "created_at DESC", limit: 30) 

給我最近的30個Feeditems。

Feeditem.all.sample(30) 

給我一個30個Feeditems的隨機樣本,但不包括所有Feeditems(不只是最近的;可能在任何時間)。

如何從30個記錄中,例如過去的100個記錄或過去的3天中隨機抽取樣本;沿着這條線的東西?

回答

2

試試這個: Feeditem.last(100).sample(30)

+0

謝謝,非常漂亮。爲了確保它們按順序排序,我最終得到以下結果: Feeditem.last(100).sample(30).sort_by {| s | - s.created_at.to_i} – rcd 2013-02-15 09:09:50