ROR: НЕ РАВНО условие между двумя таблицами - PullRequest
1 голос
/ 04 декабря 2010

У меня есть три таблицы: User, User_Interest и Interest

Как я могу получить названия интересов, которых нет у одного из пользователей?

(я уже настроил модель для всех из них.)

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 04 декабря 2010

Вы можете сделать это методом класса для User или методом экземпляра для конкретного пользователя.Для метода класса попробуйте это:

def self.missing_interests(user)
    difference = Interest.all - user.interests
    difference.map { |d| d.name }
end

и вызовите его с помощью User.missing_interests(some_user).Например, попробуйте

def missing_interests
    difference = Interest.all - interests
    difference.map { |d| d.name }
end

и позвоните с missing = some_user.missing_interests.

. Это должно вернуть массив с именами всех интересов, не включенных в ассоциацию interests для пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...