Ответ 1
Я никогда не делал этого со строковым полем, но, возможно, это сработает:
@teams = Team.where("name NOT IN (?)", @team_exclude_list)
У меня есть массив имен команд из другой части кода, и я хочу найти все Команды не в этом массиве. Я пробовал следующее и не работает.
@team_exclude_list = ['Team 1', 'Team 2', 'Team 3']
@teams = Team.where("name != ?", @team_exclude_list)
Это в Rails 3, и Googles не дают мне много любви.
Я никогда не делал этого со строковым полем, но, возможно, это сработает:
@teams = Team.where("name NOT IN (?)", @team_exclude_list)
Решение Rails 4:
@team_exclude_list = ['Team 1', 'Team 2', 'Team 3']
@teams = Team.where.not(name: @team_exclude_list)
Кроме того, чтобы ускорить запрос, вы можете:
ИЛИ