我想获取 ID 不在数组中的所有活动关系。像这样:
@widgets = Widget.where("id not in (?)", [1, 2, 3])
这工作正常。它返回完整的 Widget 表,除了那些被过滤器数组排除的记录。但是,如果过滤器数组为空,则它不起作用。
@widgets = Widget.where("id not in (?)", [])
返回“[]”,当我真的想要 Widget.all 的等价物时
我已经通过首先测试过滤器数组是否为空并修改查询来解决这个问题。但解决方法似乎是一个kludge
. 有没有办法表达这个'where'子句,以便在过滤器数组为空时返回整个表?