Finding all "documents" belonging to a "category" using "acts_as_tree"

I have a "categories" table built using acts_as_tree and a "documents"
table that belongs to a specific category. Each category is a child of
a "root" category and I'd like to get *all* of the documents belonging
to the categories of a root category. Here's what the structure looks

Root 1
  Category 1 # contains documents
  Category 2 # contains documents
Root 2
  Category 3 # contains documents
  Category 4 # contains documents

  # using acts_as_tree
  # has_many :documents

  # belongs_to :category

I know to get the documents for a specific category I can just do
category.documents. But I'd like to find all of the documents if I
visit 'Root 1' or 'Root 2' which means it'll find the documents
belonging to the categories in Root 1 that belong to Root 1.

Can someone help?

use acts_as_nested_set
see /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/
acts/nested_set.rb for more info


============ category.rb ===================
class Category < ActiveRecord::Base

  has_many :documents,
           :foreign_key => "category_id"

  validates_presence_of :name

======= migration: create_cateogries.rb ============
class CreateCategories < ActiveRecord::Migration
  def self.up
    create_table :categories do |t|
      t.column :name, :string
      t.column :parent_id, :integer, :default => 0
      t.column :lft, :integer, :default => 0
      t.column :rgt, :integer, :default => 1
    [:parent_id, :lft, :rgt].each{|x|
      add_index :categories, x

  def self.down
    [:parent_id, :lft, :rgt].each{|x|
      remove_index :categories, x
    drop_table :categories