1

我要做的是以下内容:假设我们有一个帖子可能有很多问题和答案,其中问题和答案都属于给定的帖子。我想弄清楚的是如何将少于 5 个问题和答案的帖子放在一起。

就像是:

@posts = Post.where(post.questions + post.answers < 5)

有什么建议么?

4

2 回答 2

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')

于 2012-05-31T10:35:55.683 回答
0

查看 Squeel: http ://erniemiller.org/projects/squeel/

允许在查询中遍历关联等。

于 2012-05-31T15:27:01.217 回答