I followed the steps in the following link literally in a new Rails 2.2.2 project http://ryandaigle.com/articles/2008/3/24/what-s-new-in-edge-rails-has-one-through
Then I ran it in script/console, getting these error (actually I got same error in another big rails project before I read that link):
NoMethodError: undefined method `update_attributes' for #<Class: 0xb7069980> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/base.rb:1833:in `method_missing' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/associations/association_collection.rb:370:in `send' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/associations/association_collection.rb:370:in `method_missing' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/base.rb:2003:in `with_scope' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/associations/association_proxy.rb:202:in `send' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/associations/association_proxy.rb:202:in `with_scope' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/associations/association_collection.rb:366:in `method_missing' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/associations/has_one_through_association.rb:11:in `create_through_record' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/ active_record/associations.rb:1273:in `magazine=' from (irb):4