Under Rails 2.3.2 using a completely brand new project, I have 2
models:

class Author < ActiveRecord::Base
  # name:string
end

class Book < ActiveRecord::Base
  # title:string
  belongs_to :author # author_id
end

And a simple test where i create a Book with an Author using the
belongs_to and then update the foreign key directly:

require 'test_helper'

class BookTest < ActiveSupport::TestCase
  test "foreign key updating" do
    a1 = Author.create! :name => 'author 1'
    b = Book.create! :title => 'rails', :author => a1
    a2 = Author.create! :name => 'author 2'
    b.update_attributes! :author_id => a2.id
    assert_equal a2.id, b.author_id  # author_id is still a1.id!
  end
end

The test fails on the last line.   Am i doing something wrong or is
this expected behaviour?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to