Forum: Ruby on Rails has_one :through doesn't work in Rails 2.2.2

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
94cdcdb61f509966ac0e52f8f23ae950?d=identicon&s=25 Clive Lin (clive)
on 2009-01-04 13:16
(Received via mailing list)
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-ne...

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
94cdcdb61f509966ac0e52f8f23ae950?d=identicon&s=25 Clive Lin (clive)
on 2009-01-05 07:50
(Received via mailing list)
I simply copied the code in that link, and in the associated table there
were only needed fields to establish the relations.

Regards,
林中鹏


On Sun, Jan 4, 2009 at 8:19 PM, Frederick Cheung
<frederick.cheung@gmail.com
97f7778bd994b7e4c5ad025be0640bde?d=identicon&s=25 Andrius Chamentauskas (Guest)
on 2009-01-05 16:03
(Received via mailing list)
Maybe your defined rails version in environment.rb is not 2.2.2?
D81c82ec8604359ea2047fb152e988ea?d=identicon&s=25 throwern (Guest)
on 2009-01-16 16:34
(Received via mailing list)
I was having the same issue as Clive trying to test the referenced
example
I was able to get some functionality by using   :has_one subscription
rather than :has_many.

I do have a question though.

I can set the through association like this

user=User.create(:name=>"Bob")
m=Magazine.create(:name=>'test')
user.magazine=m
then user.subscription will = #<Subscription id: 1, user_id: 1,
magazine_id: 1...>

However,
using user.update_attributes(:magazine=>m)
the return is true, but there is no association created. Subscription
remains nil.

Am I wrong in assuming that I should be able to do this?
This topic is locked and can not be replied to.