У меня есть следующие таблицы:
- пользователи
- аккаунты (учетная запись пользователя has_one)
- рисунки (рисунки пользователя has_many)
Я хочу отобразить пользователя вместе с соответствующим аккаунтом и фотографиями.Это типичная проблема с N + 1 запросами, и я решил ее с помощью eager loading .
User.includes(:account, :pictures).all
Я пытаюсь использовать will_paginate
gem.Как включить этот нетерпеливый механизм загрузки в will_paginate
?
Я нашел похожий вопрос здесь: Использование will_paginate с несколькими моделями (Rails) .Но ссылки в ответе неуместны, а сам ответ довольно старый.Кроме того, он использует необработанные SQL-запросы, которые я не предпочитаю.
Я хочу вывод следующим образом:
user.name account.field1 account.field2 picture.count
abc1 abcf1 abcf2 4
zxc zxcf1 zxcf2 7
Так что в основном, когда я делаю user.name
, он не будет выполнятьсязапрос, но просто получить данные из переменных;таким же образом, когда я делаю user.account.field1
, он должен извлечь его из переменной и не выполнять запрос.