Problem początkującego

Witam,
mam taki o to problem i nie wiem jak do niego podjeść. Otóż chce porównać wyniki na ankietę podług user-to-user (że tak powiem). O co chodzi. W tabelce Opowiedzi mam ID odpowiedzi na pytania jednego usera np. [23, 25, 27] i chce je porównać z odpowiedziami innego usera np. [23, 26, 27] tak aby wynik wynosił 2, czyli dwie odpowiedzi są takie same. Domyślam się, że w modelu User muszę zrobić jakieś działanie w stosunku do modelu Odpowiedzi, jeżeli ktoś ma jakiś pomysł, to byłbym bardzo wdzięczny na nakierowanie mnie.

Iloczyn kartezjański tablic: operator & (ampersand)
user1.answer_ids & user2.answer_ids
Ilość elementów w tablicy: metoda .size

Musisz niestety zbudować sobie macierz n^2 (a przynajmniej 0.5 n^2) i wyliczyć wspólność odpowiedzi w każdej parze userów.