Я думаю, что вы не можете сделать это в rails прямо сейчас, потому что rails по умолчанию предполагает, что разные ассоциации имеют разные таблицы, и он не может объединять включения из разных ассоциаций в один запрос во время загрузки, даже если эти ассоциации имеютта же таблица.
ОБНОВЛЕНИЕ : Более того, я думаю, что это даже неосуществимо, потому что если вы думаете о ваших отношениях данных: вы пытаетесь загрузить пользователя и друга для пары,когда вы делаете это с 2 запросами, это довольно просто, вы знаете, кто пользователь, а кто приятель, но подумайте о случае, когда вы делаете это с 1 запросом, как вы узнаете, является ли найденная запись пользователем или приятелем?Там нет никакого способа узнать, что 100%.