belongs_to validating presence of foreign key

I've recently read http://blog.teksol.info/articles/2006/03/08/do-not-validate-belongs_to-or-else and I seem to be experiencing conflicting behavior with Rails 1.2.3

Parent Table: id Integer name String

Child Table: id Integer name String parent_id Integer

class Parent < ActiveRecord::Base   has_many :children end

class Child < ActiveRecord::Base   belongs_to :parent   validates_presence_of :parent_id end

So from reading the link above, as well as the warning on http://api.rubyonrails.com/classes/ActiveRecord/Validations/ClassMethods.html#M000941 I figured this would work.

parent = Parent.new(:name => "Dad") child = parent.children.build(:name => "Son") parent.save!

However I consistently get "ActiveRecord::RecordInvalid: Validation failed: Children is invalid"

This behavior is exhibited with both "validates_presence_of :parent" and ":parent_id"

However, if I remove the "validates_presence_of :parent_id" both elements are saved and the Child has been saved with the parent id appropriately.

Am I mis-reading something, or did this work in previous versions?

Running on Intel Mac, against both SQLite3 and MySQL.

-Zach