Hello,

I've come across an issue that I'm sure is a bug when using after_create
with a has_one association, but I'm not 100% certain if I'm missing
something.

This is pretty much exactly the code I'm using.  Two simple classes
(Account and Contact) and I create the contact after I create an account
(via after_create).  I'm not passing in a "name" field which the contact
requires via validates_presence_of, so the contact should not get saved,
but it in fact does.

class Account < ActiveRecord::Base
  has_one :contact
  def after_create
    create_contact
  end
end

class Contact < ActiveRecord::Base
  belongs_to :account
  validates_presence_of :name
end

The test...

class AccountTest < ActiveSupport::TestCase
  test "this ain't right" do
    a = Account.create
    p a.contact
    p a.new_record?
  end
end

produces...

#<Contact id: 996332878, name: nil, account_id: 1, created_at:
"2009-05-25 05:40:40", updated_at: "2009-05-25 05:40:40">
false

Is this expected behaviour?

Thanks,
Andrew
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
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