コメントなしですべての投稿のスコープを作成したい...モデルで(スコープを作成することにより)、コメントだけが何を知っているように見えるので、投稿にコメントが添付されているかどうかを確認する方法がわかりませんどのコメントがそれに属しているかを知っている投稿とは対照的に、それらが属する投稿。
Post
has_many :comments
Comments
belong_to :post
(間違っていたら止めてください。)
コメントなしですべての投稿のスコープを作成したい...モデルで(スコープを作成することにより)、コメントだけが何を知っているように見えるので、投稿にコメントが添付されているかどうかを確認する方法がわかりませんどのコメントがそれに属しているかを知っている投稿とは対照的に、それらが属する投稿。
Post
has_many :comments
Comments
belong_to :post
(間違っていたら止めてください。)
SQLで
Post.includes(:comments).where("comments.id is NULL")
したがって、スコープは
scope :without_comments, includes(:comments).where("comments.id is NULL")
ただし、counter_cache
ここで使用することをお勧めします:http: //railscasts.com/episodes/23-counter-cache-column