Ruby on rails 4 where.not()不处理数组

Ruby on rails 4 where.not()不处理数组,ruby-on-rails-4,Ruby On Rails 4,我有一个名为user_id的数组,我想选择其user_id不在数组中的记录 以下是我使用的: MyModel.where.not(user_id: user_ids) 但是我得到了错误数量的参数(0代表1) 当我使用MyModel.where.not('user\u id=?',user\u id')时也会发生同样的事情。我想可能是因为数组是空的,但对于非空的数组也会发生同样的事情 有人知道为什么会这样吗 我正在使用Rails 4。您应该尝试以下方法: MyModel.where('user_

我有一个名为user_id的数组,我想选择其user_id不在数组中的记录

以下是我使用的:

MyModel.where.not(user_id: user_ids)
但是我得到了错误数量的参数(0代表1)

当我使用
MyModel.where.not('user\u id=?',user\u id')时也会发生同样的事情。
我想可能是因为数组是空的,但对于非空的数组也会发生同样的事情

有人知道为什么会这样吗

我正在使用Rails 4。

您应该尝试以下方法:

MyModel.where('user_id not in (?)', user_ids)

是的,我试过这个,但你知道为什么where.not()不起作用吗?我没听说过多少关于where.not()的事,但我想:它不能接受一系列ID。它可以与单个id一起工作,如“!=”操作人员尝试传递单个id,而不是array@Lee7355512727你的数据库是什么?如果您使用的是MongoDB(和mongoid),您可以这样做:
Model.nin(url:['',nil])
Model.where(:url.ne=>,:url.exists=>true)