使用OR链接多个范围

时间:2014-09-25 18:40:07

标签: ruby-on-rails activerecord

  scope :target_self, -> { where(target: 'self') }
  scope :target_other, -> { where(target: 'other') }

我有以上范围。

我想这样做:@example= Example.target_self.target_other

但是,我希望它能同时归还所有目标' self'和目标'其他' (对不起,这很令人困惑,我想查询使用OR,虽然我想要所有记录都有标记)

现在,它并没有返回任何东西,因为没有任何东西被标记为自我和其他。

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以写where(target: ['self', 'other']),或添加范围如:

scope :with_targets, -> (targets) { where(target: targets) }

然后将其称为Example.with_tragets([:self, :other])