Problem saving object graphs

Morning (as appropriate) all!

I'm having a problem with rails 2.0.1 and am hoping somebody here
might be able to help me out.

I'm building a flex/rubyamf/rails app, and I'm having trouble saving
object graphs. Here's an example.

Model: Contest
has_many Prizes

Model: Prize
belongs_to Contest
has_many Wins

Model: Win
belongs to Prize

When I create my Contest, I am populating Prizes, however, I'm not
populating Wins. When I get to ContestsController.create and do
@contest.save it's blowing up (stack below) because it doesn't like
that @contest.prizes.wins is nil. There are no validations on wins,
and I really suspect I SHOULD be able to do this.

Anybody have an idea what might be wrong? I know that my objects are
good when they hit the controller, so it's not rubyamf at this
point. . .that was a whole other story ; ) Here are the params and
dump:

  Parameters: {0=>#<Contest id: nil, name: "bbb", start_date:
"2008-03-03 00:00:00", end_date: "2008-03-09 00:00:00",
submitted_by_id: nil, approved: false, approved_by_id: nil,
approved_at: nil, eligibility_id: 1, contest_category_id: 1,
frequency_id: 1, entry_instructions: nil, contest_url: nil, rules_url:
nil, company_url: nil, rules_text: nil, notes: nil, premium: false,
recommended: false, admin_notes: nil, created_at: nil, updated_at:

, "contest"=>{"start_date"=>Mon Mar 03 00:00:00 -0600 2008,

"rules_url"=>nil, "name"=>"bbb", "end_date"=>Sun Mar 09 00:00:00 -0600
2008, "contest_bookmarks"=>nil, "updated_at"=>nil, "premium"=>false,
"prizes"=>[#<Prize id: nil, quantity: 2, description: "bbb",
estimated_value: 2, prize_category_id: 1, contest_id: nil,
admin_notes: nil, created_at: nil, updated_at: nil>],
"submitted_by_id"=>nil, "company_url"=>nil,
"contest_category"=>#<ContestCategory id: 1, name: "Instant",
description: "Instant Win", admin_notes: nil>, "approved_by"=>nil,
"comments"=>nil, "attributes_cache"=>{}, "ratings"=>nil, "notes"=>nil,
"approved"=>false, "attributes"=>{"start_date"=>Mon Mar 03 00:00:00
-0600 2008, "end_date"=>Sun Mar 09 00:00:00 -0600 2008,
"rules_url"=>nil, "name"=>"bbb", "premium"=>false, "updated_at"=>nil,
"submitted_by_id"=>nil, "company_url"=>nil, "notes"=>nil,
"approved"=>false, "eligibility_id"=>1, "entry_instructions"=>nil,
"frequency_id"=>1, "contest_url"=>nil, "recommended"=>false,
"approved_by_id"=>nil, "approved_at"=>nil, "rules_text"=>nil,
"admin_notes"=>nil, "contest_category_id"=>1, "created_at"=>nil},
"eligibility_id"=>1, "eligibility"=>#<Eligibility id: 1, name:
"Alive", description: "Aliv", admin_notes: nil>,
"entry_instructions"=>nil, "frequency_id"=>1, "contest_url"=>nil,
"recommended"=>false, "approved_by_id"=>nil, "approved_at"=>nil,
"submitted_by"=>nil, "rules_text"=>nil, "created_at"=>nil,
"contest_category_id"=>1, "admin_notes"=>nil, "frequency"=>#<Frequency
id: 1, name: "Daily", description: "Daily Entry", interval: 0,
admin_notes: nil>}, "action"=>"create", "controller"=>"contests"}

NoMethodError (undefined method `each' for #<Class:0x2837654>):
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
base.rb:1459:in `method_missing'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations/association_collection.rb:164:in `send'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations/association_collection.rb:164:in `method_missing'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
base.rb:1620:in `with_scope'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations/association_collection.rb:164:in `send'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations/association_collection.rb:164:in `method_missing'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations.rb:1067:in `validate_associated_records_for_wins'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:967:in `send'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:967:in `run_validations'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:965:in `each'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:965:in `run_validations'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:929:in `valid_without_callbacks?'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
callbacks.rb:273:in `valid?'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations.rb:1072:in `validate_associated_records_for_prizes'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations/association_proxy.rb:124:in `each'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations/association_proxy.rb:124:in `send'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations/association_proxy.rb:124:in `method_missing'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations/association_collection.rb:162:in `method_missing'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
associations.rb:1067:in `validate_associated_records_for_prizes'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:967:in `send'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:967:in `run_validations'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:965:in `each'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:965:in `run_validations'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:929:in `valid_without_callbacks?'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
callbacks.rb:273:in `valid?'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
validations.rb:900:in `save_without_transactions'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
transactions.rb:108:in `save'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
connection_adapters/abstract/database_statements.rb:66:in
`transaction'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
transactions.rb:80:in `transaction'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
transactions.rb:100:in `transaction'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
transactions.rb:108:in `save'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
transactions.rb:120:in `rollback_active_record_state!'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
transactions.rb:108:in `save'
    /app/controllers/contests_controller.rb:70:in `create'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
mime_responds.rb:106:in `call'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
mime_responds.rb:106:in `respond_to'
    /app/controllers/contests_controller.rb:69:in `create'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:1168:in `send'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:1168:in `perform_action_without_filters'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
filters.rb:697:in `call_filters'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
filters.rb:689:in `perform_action_without_benchmark'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
benchmarking.rb:68:in `perform_action_without_rescue'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/benchmark.rb:293:in `measure'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
benchmarking.rb:68:in `perform_action_without_rescue'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
rescue.rb:199:in `perform_action_without_caching'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
caching.rb:678:in `perform_action'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
connection_adapters/abstract/query_cache.rb:33:in `cache'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
query_cache.rb:8:in `cache'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
caching.rb:677:in `perform_action'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:524:in `send'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:524:in `process_without_filters'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
filters.rb:685:in `process_without_session_management_support'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
session_management.rb:123:in `process'
    /vendor/plugins/rubyamf/app/actions.rb:139:in `invoke'
    /vendor/plugins/rubyamf/app/actions.rb:86:in `run'
    /vendor/plugins/rubyamf/app/filters.rb:53:in `run'
    /vendor/plugins/rubyamf/app/filters.rb:51:in `each'
    /vendor/plugins/rubyamf/app/filters.rb:51:in `run'
    /vendor/plugins/rubyamf/app/filters.rb:49:in `upto'
    /vendor/plugins/rubyamf/app/filters.rb:49:in `run'
    /vendor/plugins/rubyamf/app/filters.rb:11:in `run'
    /vendor/plugins/rubyamf/app/filters.rb:10:in `each'
    /vendor/plugins/rubyamf/app/filters.rb:10:in `run'
    /vendor/plugins/rubyamf/app/rails_gateway.rb:28:in `service'
    /app/controllers/rubyamf_controller.rb:16:in `gateway'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:1168:in `send'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:1168:in `perform_action_without_filters'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
filters.rb:697:in `call_filters'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
filters.rb:689:in `perform_action_without_benchmark'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
benchmarking.rb:68:in `perform_action_without_rescue'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/benchmark.rb:293:in `measure'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
benchmarking.rb:68:in `perform_action_without_rescue'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
rescue.rb:199:in `perform_action_without_caching'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
caching.rb:678:in `perform_action'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
connection_adapters/abstract/query_cache.rb:33:in `cache'
    /Library/Ruby/Gems/1.8/gems/activerecord-2.0.1/lib/active_record/
query_cache.rb:8:in `cache'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
caching.rb:677:in `perform_action'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:524:in `send'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:524:in `process_without_filters'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
filters.rb:685:in `process_without_session_management_support'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
session_management.rb:123:in `process'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
base.rb:388:in `process'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
dispatcher.rb:171:in `handle_request'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
dispatcher.rb:115:in `dispatch'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
dispatcher.rb:126:in `dispatch_cgi'
    /Library/Ruby/Gems/1.8/gems/actionpack-2.0.1/lib/action_controller/
dispatcher.rb:9:in `dispatch'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:78:in `process'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in
`synchronize'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:76:in `process'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:618:in
`process_client'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in `each'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in
`process_client'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `run'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `initialize'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `new'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in `run'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `initialize'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `new'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in `run'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:271:in
`run'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:270:in
`each'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:270:in
`run'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:127:in `run'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/command.rb:211:in `run'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:243
    /Library/Ruby/Gems/1.8/gems/activesupport-2.0.1/lib/active_support/
dependencies.rb:489:in `load'
    /Library/Ruby/Gems/1.8/gems/activesupport-2.0.1/lib/active_support/
dependencies.rb:489:in `load'
    /Library/Ruby/Gems/1.8/gems/activesupport-2.0.1/lib/active_support/
dependencies.rb:342:in `new_constants_in'
    /Library/Ruby/Gems/1.8/gems/activesupport-2.0.1/lib/active_support/
dependencies.rb:489:in `load'
    /Library/Ruby/Gems/1.8/gems/rails-2.0.1/lib/commands/servers/
mongrel.rb:64
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:27:in `require'
    /Library/Ruby/Gems/1.8/gems/activesupport-2.0.1/lib/active_support/
dependencies.rb:496:in `require'
    /Library/Ruby/Gems/1.8/gems/activesupport-2.0.1/lib/active_support/
dependencies.rb:342:in `new_constants_in'
    /Library/Ruby/Gems/1.8/gems/activesupport-2.0.1/lib/active_support/
dependencies.rb:496:in `require'
    /Library/Ruby/Gems/1.8/gems/rails-2.0.1/lib/commands/server.rb:39
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/
ruby/1.8/rubygems/custom_require.rb:27:in `require'
    script/server:3

Thanks all!

H