【发布时间】:2013-05-05 17:23:07
【问题描述】:
class User
has_many :posts do
def latest(report_date)
order(:report_date).where('report_date <= ?', report_date).limit(1)
end
end
end
class Post
belongs_to :user
end
我想检索每个用户的最后一个帖子的用户记录。
我可以这样做:
users = User.all.map{|user| user.posts.latest(7.weeks.ago).first}.compact
有没有更好的方法来写这个?类似:
users = User.posts.latest(7.weeks.ago).all
如果那是有效的?
【问题讨论】:
标签: ruby-on-rails scope has-many