Is a global set of named_scope scopes a bad idea? If not, is it possible?


I’ve noticed that several of my models contain the same set of
named_scopes (ones for active, various access levels, etc.). I was
thinking to avoid the duplication I’d try to pull that coat into a
common file either included or extended from within my models.

I created a module, but that didn’t seem to work w/ errors trying to
use named_scope. I create a “base” model and made the other models
child classes to it, but Rails looked for a bases table, which makes
sense, but unfortunately the table doesn’t exist.

Is this possible or am I stuck duplicating the named_scopes across all
of my models?


When you tried using a module, did you try it like this? ie. putting the
calls to named_scope inside self.included ?

module MyScopes
def self.included(base)
base.send :named_scope, … params …

Another option might be to make a plugin with your named scopes in them.



No, I didn’t try that but that worked perfectly. Thanks for the tip.