2013-04-19 3 views
0

У меня есть таблица users, где у нее много group users и имеет один user account summary. Все эти таблицы имеют одинаковое поле user_id. Я надеялся включить резюме учетной записи пользователя в запрос группы пользователей. Поэтому я хотел бы это сделать ...Использование запроса с помощью косвенных ассоциаций

@group.group_users.includes(:user_account_summary) 

Но это говорит мне, что связанное имя не было найдено. Как я могу исправить запрос, чтобы включить резюме учетной записи пользователя с пользователями группы? Возможно ли это?

ответ

1

Пробег: @group.group_users.includes(:user => :user_account_summary). С: user_account_summary является объединение: User вместо GroupUser, ассоциация должна пройти User.

Вы также можете добавить user_account_summary отношение к GroupUser, что соответствует user_iduser_id к, если вы хотите использовать ассоциацию чаще:

class GroupUser < ActiveRecord::Base 
    has_one :user_account_summary, :primary_key => 'user_id', :foreign_key => 'user_id' 
end 
+0

Отлично Объяснение. Благодаря! – jason328