STI and has_many

I’m having a really hard time figuring out what’s wrong with this scenario. Here’s my setup

# My classes and their relationships...

class Document < ActiveRecord::Base

has_many :attachments, :dependent => :destroy
end

class Page
 < Document
end

class Entry < Document
end

class Attachment < ActiveRecord::Base
  belongs_to :document
end

Then I've been trying this code [roughly]

@document = Page.find(1) # Assume there's a record and not nil.

@document.attachments # => []
@document.attachments.create(params)
@document.attachments # => [an_attachment]

But the minute I reload...

@document = Page.find(1) # Reload that page!

@document.attachments # => [] again!

It looks like my attachment isn’t ever getting a value for “document_id” during the creation process. The attachment is created but just sits there alone floating in space. I also tried polymorphic but that didn’t do any better. Here’s the setup I used for polymorphic…

class Document < ActiveRecord::Base
  has_many :attachments, :as => :attachable, :dependent =>
:destroy
end

class Page < Document
end

class
Entry < Document
end

class Attachment < ActiveRecord::Base

  belongs_to :attachable, :polymorphic => true
end

Help!? Thanks in advance!

RSL