コードの別の部分からのチーム名の配列があり、その配列にないすべてのチームを検索したい。私は以下を試しましたが、うまくいきません。
@team_exclude_list = ['Team 1', 'Team 2', 'Team 3']
@teams = Team.where("name != ?", @team_exclude_list)
これはRails 3であり、Googleは私にあまり愛情を与えていません。
文字列フィールドでこれを行ったことはありませんが、おそらくこれでうまくいくでしょう:
@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)
また、クエリを高速化するには、次の方法があります。
OR