2012-05-31 70 views
1

我想要做的是以下內容: 假設我們有一個帖子,可能有許多問題和答案,其中問題和答案都屬於給定的帖子。我試圖弄清楚的是如何讓一起發佈少於5個問題和答案的帖子。RoR活動記錄關聯查詢條件

類似:

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

有什麼建議?

回答

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

+0

當答案或問題發生變化時會發生什麼? –