Предположим, у меня есть модель Post и модель Comment.Используя общий шаблон, Post has_many Comments.
Если для Comment установлено значение default_scope:
default_scope where("deleted_at IS NULL")
Как мне легко получить ВСЕ комментарии к сообщению, независимо от области действия?Это приводит к неверным результатам:
Post.first.comments.unscoped
, который генерирует следующие запросы:
SELECT * FROM posts LIMIT 1;
SELECT * FROM comments;
Вместо:
SELECT * FROM posts LIMIT 1;
SELECT * FROM comments WHERE post_id = 1;
Выполнение:
Post.first.comments
Производит:
SELECT * FROM posts LIMIT 1;
SELECT * FROM comments WHERE deleted_at IS NULL AND post_id = 1;
Я понимаю базовый принцип удаления с незаданной области всех существующих областей, но не должен ли он знать об этом и сохранять область ассоциации?
Каков наилучший способвытащить ВСЕ комментарии?