Using named_scope with counts of child models

Posted by Joe Cairns on Stack Overflow See other posts from Stack Overflow or by Joe Cairns
Published on 2010-05-24T20:18:41Z Indexed on 2010/05/24 20:21 UTC
Read the original article Hit count: 271

Hi, I have a simple parent object having many children. I'm trying to figure out how to use a named scope for bringing back just parents with specific numbers of children.

Is this possible?

class Foo < ActiveRecord::Base
    has_many :bars
    named_scope :with_no_bars, ... # count of bars == 0
    named_scope :with_one_bar, ... # count of bars == 1
    named_scope :with_more_than_one_bar, ... # count of bars > 1
end

class Bar < ActiveRecord::Base
    belongs_to :foo
end

I'm hoping to do something like Foo.with_one_bar

I could write methods on the parent class for something like this, but I'd rather have the power of the named scope

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about activerecord