我要做的是以下内容: 假设我们有一个帖子可能有很多问题和答案,其中问题和答案都属于某个帖子。我想弄清楚的是如何将少于5个问题和答案的帖子放在一起。
类似的东西:
@posts = Post.where(post.questions + post.answers < 5)
有什么建议吗?
答案 0 :(得分:2)
您可以在桌面上创建一个新字段,用于保存帖子的问题和答案的总和。这可以使用这样的回调来完成:
class Post < ActiveRecord::Base
...
# After you've created the sum field (migration etc.)
before_save do |post|
post.sum = post.questions.count + post.answers.count
end
end
然后在您的控制器中,您可以执行@posts = Post.where('sum < 5')
答案 1 :(得分:0)
查看Squeel: http://erniemiller.org/projects/squeel/
允许在查询中遍历关联以及许多其他内容。