ruby on rails - Getting most active有很多模型



我有一个场景,一个人可以在网站上做多个活动。所以我的person活动看起来像这样:

class User < ActiveRecord::Base
has_many :activities

和类似的活动模型

class Activity < ActiveRecord::Base
belongs_to :user

现在我想找到用户和他们的活动在他们最近的活动顺序的网站..

例如,如果用户A今天做了活动A和B,用户B在一周前做了活动C,那么用户A应该列在用户B之上。

这可以通过编写SQL查询来完成,但我不确定他们是否是一个很好的方式来做这件事。

提前感谢!!

我不认为有铁路的方式。如果你使用的是Rails 3,你可以试试:

Activity.order('created_at DESC')

如果你使用的是Rails 2,你可以像Sam在上面的评论中说的那样做

Activity.all(:order => 'created_at DESC')

,例如,如果您只想要最近10个活动或仅从昨天开始的活动,您可以这样做

Activity.order('created_at DESC').limit(10)
Activity.where('created_at >= ?', Date.yesterday.midnight).order('created_at DESC')

相关内容

  • 没有找到相关文章

最新更新