Я рассматривал такой вариант, но думал, что можно как-то одной строкой сделать с помощью AR. Пробовал составлять запросы на чистом sql, но все равно где-то приходится вытягивать лишние данные или делать лишние запросы. В общем, спасибо за потраченное время.
Используется метод includes, соответственно все данный загружаются сразу (eager loading - нетерпеливая загрузка), но зато мало запросов к бд. Если используем joins, то все данные загружаться не будут, но когда мы будем перебирать в шаблоне posts.each, то на каждую итерацию будет запрос к бд с извлечением данных. Здесь выбор между "потреблять много памяти за один запрос", либо "потреблять мало памяти, но делать много запросов". В этом и проблема.
Если инклюдить/джойнить комменты к постам, а не к категориям, эффект будет ровно тот же самый.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.