私がやろうとしていることは次のとおりです。質問と回答の両方が特定の投稿に属している、多くの質問と回答を含む投稿があるとします。私が理解しようとしているのは、質問と回答が5つ未満の投稿をまとめて取得する方法です。
何かのようなもの:
@posts = Post.where(post.questions + post.answers < 5)
助言がありますか?
私がやろうとしていることは次のとおりです。質問と回答の両方が特定の投稿に属している、多くの質問と回答を含む投稿があるとします。私が理解しようとしているのは、質問と回答が5つ未満の投稿をまとめて取得する方法です。
何かのようなもの:
@posts = Post.where(post.questions + post.answers < 5)
助言がありますか?
投稿の質問と回答の合計を保持する新しいフィールドをテーブルに作成できます。これは、次のようなコールバックを使用して実行できます。
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')
Squeel をチェックしてください: http://erniemiller.org/projects/squeel/
クエリで、他の多くのものの中で、関連付けをトラバースできるようにします。