【发布时间】:2010-10-06 18:52:44
【问题描述】:
我正在尝试编写 ActiveRecord 查找查询,但没有成功。请帮忙!
我的项目的这个功能是一种类似于 Digg 功能的博客:每个注册用户都可以为博客帖子本身或其任何回复添加星标。
以下是相关的模型类:
- 博文(有_many Replies)
- 回复(属于博客帖子)
- 加星标(这表示一个用户加星标一个 BlogPost 或 Reply 的操作;它具有 BlogPost 和 Reply 的多态接口,在内部将它们称为 :starrables,充满 :starrable_id 和 :starrable_type 字段)
所以,我要做的是在 blog_post.rb 中编写一个方法,该方法将返回 BlogPost 对象及其所有回复类的星标总数。也就是说,如果一篇博文有 10 颗星,并且它有两条回复,每条有 5 颗星,它应该返回 20。
如何在不进行大量数据库事务的情况下编写此查询?
【问题讨论】:
标签: ruby-on-rails activerecord