Rails,如何在它们之间使用“OR”运算符链接范围?

时间:2014-10-21 14:44:26

标签: ruby-on-rails ruby orm chain scopes

这是一个从“Rails, how do I chain scopes with an "and" operator between them?”分离出来的问题。

在接受的答案中,代码示例生成的SQL类似于:

"where 'age' similar to '%(foo|bar)%' AND 'name' similar to '%(foo|bar)%' AND

......等等。

如果我想使用OR代替AND来链接范围,我将如何实现此目标?

1 个答案:

答案 0 :(得分:3)

check the any_of gem.

让您做以下事情:

banned_users      = User.where(banned: true)
unconfirmed_users = User.where("confirmed_at IS NULL")
inactive_users    = User.where.any_of(banned_users, unconfirmed_users)