Forum: Ruby on Rails Is a global set of named_scope scopes a bad idea? If not, is it possible?

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Eric M. (Guest)
on 2009-02-27 23:17
(Received via mailing list)
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?
Starr H. (Guest)
on 2009-02-27 23:37
(Received via mailing list)
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.

Eric M. (Guest)
on 2009-02-28 00:24
(Received via mailing list)
No, I didn't try that but that worked perfectly.  Thanks for the tip.
This topic is locked and can not be replied to.