данные две модели:Как использовать Включает ассоциации activerecord?
User
has_many :group_members
has_many :groups, :through => :group_members
GroupMember
belongs_to :group
belongs_to :user
Group
has_many :group_members
has_many :users, :through => :group_members
has_many :group_invites
GroupInvite
belongs_to :user
Благодаря Rails, я могу легко получить все группы пользователя с:
групп = current_user.groups
мне взять этот список групп и итерация чтобы создать такой объект JSON:
groups.each do |group|
....
group.group_members.count
group.invites.first_code
и др. и т. д. Проблема заключается в том, что это приводит к большому числу запросов, потому что я не нашел способ использования include (:) для запроса для всех group_members и приглашений для всех групп с одним запросом по сравнению с запросом для каждого цикла. Любые предложения о том, как вы можете использовать включает в себя как так:
current_user.groups.includes(:group_members, :invites) ?
Что эта линия? – AnApprentice
Кажется, не имеет никакого эффекта. Я заметил, что если я включу => вздор, он даже не сломается? – AnApprentice
Я обновил свой ответ, посмотри. –