我有这个范围,效果很好:
scope :concurrent, lambda{ |a,r,e| where(application_id: a, role_id: r, environment_id: e) }
它是这样使用的:
l = Deployment.last
concurrent_deployments = Deployment.concurrent(l.application_id, l.role_id, l.environment_id)
我需要对其进行修改,使其不会捕获所有并发并发的 Deployment。所以我可以添加一个参数i,它是目标的 id。
我重写:
scope :concurrent, lambda{ |a,r,e,i| where(application_id: a, role_id: r, environment_id: e, id: !i) }
这行不通。
我该怎么做呢?