Rails で default_scope を複数定義すると…

Railsdefault_scope を複数定義した場合、『両方の default_scope 』が適用されます。

class Article < ActiveRecord::Base
  default_scope { where(published: true) }
  default_scope { where(rating: 'G') }
end

Article.all # => SELECT * FROM articles WHERE published = true AND rating = 'G'

最近 default_scope を使い始めましたけど便利ですね。 みんなもどんどん使いましょう(白目。

参照

https://api.rubyonrails.org/classes/ActiveRecord/Scoping/Default/ClassMethods.html#method-i-default_scope