кросс-моделирование - рельсы 3 - PullRequest
1 голос
/ 16 июля 2011

Я хочу создать область для всех Сообщений без комментариев ... Я не понимаю, как в модели (путем создания области) я могу проверить, есть ли к моему сообщению какие-либо комментарии, прикрепленные к нему, поскольку отображаются только комментариизнать, к какому посту они принадлежат, в отличие от поста, который знает, какие комментарии к нему принадлежат.

Post
has_many :comments

Comments
belong_to :post

(остановите меня, если я ошибаюсь.)

1 Ответ

1 голос
/ 16 июля 2011

с 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...