Ruby on rails 链接命名作用域未按预期工作

Ruby on rails 链接命名作用域未按预期工作,ruby-on-rails,activerecord,named-scope,Ruby On Rails,Activerecord,Named Scope,我定义了两个简单的命名作用域: class Numbers < ActiveRecord::Base named_scope :even, :conditions => {:title => ['2','4','6']} named_scope :odd, :conditions => {:title => ['1','3','5']} end 但是当我将它们链接在一起时,我没有得到任何结果,因为它创建的查询如下所示: SELECT * FROM `num

我定义了两个简单的命名作用域:

class Numbers < ActiveRecord::Base
  named_scope :even, :conditions => {:title => ['2','4','6']}
  named_scope :odd, :conditions => {:title => ['1','3','5']}
end
但是当我将它们链接在一起时,我没有得到任何结果,因为它创建的查询如下所示:

SELECT * FROM `numbers` 
WHERE ((title IN ('1','3','5')) AND (title IN ('2','4',6')))

“AND”条款应改为或,但我不知道如何强制执行。这可能是ActiveRecord的问题吗

这是ActiveRecord如何处理作用域的问题。应用多个作用域时,结果将与和连接在一起。没有使用或的选项

您需要做的是合并两个结果集:

Numbers.even.all + Numbers.odd.all
Numbers.even.all + Numbers.odd.all