我有模型用户
获取
params[:ids]
对于那些不需要
的用户看过类似的
User.where.not(id: params[:id])
答案 0 :(得分:2)
假设您正在执行GET /users?ids[]=1&ids[]=2&ids[]=3
之类的请求,那么您的路径正确:
User.where.not(id: params[:ids])
User.where.not(id: [1,2,3])
翻译成
我在ruby 2.1.3 rails 4.1.6的测试中SELECT COUNT(*) FROM "users" WHERE ("users"."id" NOT IN (1, 2, 3))
。
答案 1 :(得分:1)
尝试:
User.where.not(id: params[:ids])
此处params
是请求期间发送给服务器的参数,然后可以使用密钥访问params
中的值,在您的情况下:ids
:params[:ids]
不是:id
(params[:id]
)。
答案 2 :(得分:1)
这可能对您有用:
User.where("id NOT in (#params[:ids])")
例如:
User.where("id NOT in (2,3,4)")