使用named_scope添加链接

Mic*_*aer 9 activerecord named-scope ruby-on-rails

有没有办法以兼容的方式组合范围?

如果我有范围

User.big_haired
Run Code Online (Sandbox Code Playgroud)

User.plays_guitar
Run Code Online (Sandbox Code Playgroud)

我可以打电话

User.big_haired.plays_guitar
Run Code Online (Sandbox Code Playgroud)

并让所有拥有大发和弹吉他的用户.我可以写这个来让所有有头发或弹吉他的用户?

我想我必须补充一点,我意识到你可以运行一组查询并将结果添加到一起.这就是我不想做的事情.

ask*_*egg 2

所以你有了:

class User < ActiveRecord::Base
  named_scope :big_haired, :conditions => {:hair => 'massive'}
  named_scope :plays_guitar, :conditions => {:plays => 'guitar'}
end
Run Code Online (Sandbox Code Playgroud)

User.big_haired.plays_guitar => 很多用户。

我不知道有什么方法可以将两者混合在一起。也许只是混合数组:

@users = (User.big_haired + User.plays_guitar).uniq
Run Code Online (Sandbox Code Playgroud)