在我的索引中,我想显示所有游戏记录。我想将它们分成已经与当前用户关联的那些,以及那些不与当前用户关联的那些。
def index
@games = current_user.games
@others = Game.where(game not in @games) # how do i do this?
end
我想知道这种类型的查询是否存在,或者是否有更好的方法。
答案 0 :(得分:2)
试试这个:
@others = Game.where('id not in (:games)', games: @games)
或者:
@others = Game.where('id not in (?)', @games)
请注意在使用not in
或in
运算符时使用括号。
答案 1 :(得分:1)
如果你打算使用Rails 4,你可以使用名为where.not
的新API。像这样:
Game.where.not(game: SOMETHING)
使用新鲜的Rails :)