Iterating on a child table (with scope)

I'm having trouble figuring out how to iterate on entries from a table
that is not the master table where I have my read_scope defined.
Example:

Say I want to list all of the birds that exist in all of the cages
within a certain pet store. I have the read_scope defined and working
elsewhere that will limit the scope of my query to just one pet store.
This is important to note, because the petstore_id is only available in
the 'cages' table, not in the birds table. So, in order to ensure my
read_scope lists only the birds from the one pet store, I'm pretty sure
that I have to setup my read_scope as follows, then query for all cages
and include the related birds.

    Cage.with_scope(read_scope Cage.table_name) do
        @cages = Cage.paginate(
                          :include => :birds
                          )
    end

Now, it is in the list view where I am having my problem. I can't get
the right syntax of how to iterate through all of the birds in a single
list. Here are a couple of things I have tried

     @cages.each do { |b|
          b.bird.each {}
          }

or

     @cages.bird.each do |b|

...and many others. Just so it is clear, I can't query directly for the
bird because there is no petstore_id and thus the read_scope setup
throughout the application does not work. Can anyone suggest a syntax
that will work?

Thanks,

Brad