Я думаю, что это дублирование записей в объединениях.Вы должны использовать group_by с соединениями, чтобы устранить это.Попробуйте,
FbGroup.joins(:fb_posts).where('fb_groups.id IN (?)', ids).group('fb_groups.id').length
Пожалуйста, исправьте, если я ошибаюсь.