этот вопрос может быть немного конкретным, но я думаю, что он интересен и для общего вида.
В приложении Rails пользователи могут подписываться на других пользователей. Когда я показываю список пользователей, я должен проверить, подписался ли текущий пользователь на пользователей в списке. Если он подписался, я показываю кнопку отписки и наоборот.
Поскольку все зависит от текущего пользователя, я не могу использовать готовую загрузку. Поэтому, когда я показываю 20 пользователей в списке, я генерирую 20 дополнительных обращений к БД, что мне кажется плохой практикой.
Я думаю о хорошем способе решения этой проблемы. Лучшее решение, которое я придумала до сих пор, - это загрузить идентификаторы пользователей, на которые current_user подписан в сеансе, во время входа в систему, а затем просто проверить каждый user.id по идентификаторам в сеансе. Но, возможно, это может привести к другим проблемам, когда пользователь подписался на множество людей. Также я не уверен, что это лучший способ загрузить все подписки, даже если пользователь никогда не будет просматривать список пользователей во время этого сеанса.
Следующая лучшая вещь, которая пришла мне в голову, это сделать то же самое, но не во время входа в систему, а вместо этого, когда загружен список пользователей.
Что ты думаешь?