В настоящее время у меня есть следующее:
@threads = current_user.threads.includes(:user, :thread_members)
Затем я беру потоки и делаю следующее:
@threads.each do |thread|
thread_members = thread.thread_members_active(current_user)
@threadList << {
:id => thread.id,
:uuid => thread.uuid,
:user_id => thread.user.id,
:last_activity_at => thread.last_activity_at,
:user_count => thread_members.length,
:user_photos => thread_members.collect { |thread_member|
{
:id => thread_member.user.id,
:photo => thread_member.user.photo(:thumb),
:name => thread_member.user.full_name
}
},
:caption => thread.caption
}
end
Проблема здесь в том, что каждый КАЖДЫЙ цикл, рельсы, попадает в DBдля тех же основных записей.Rails видит, что кешируется, поскольку я вижу CACHE в журнале, но он очень грязный.Оставляю меня, желая, чтобы я мог сделать некоторые типы включений, чтобы не было так много запросов к БД.
Есть идеи о том, как это можно оптимизировать?Что-то вокруг, включая всех пользователей в один удар по дб?
Спасибо