What you are describing works for me with Rails 2.3.2. I think that you cannot assign parent children correctly. Are children updated after the upgrade?
accepts_nested_attributes_for used in your question creates the parent file child_attributes. I have the feeling that you are trying to update: children, not: children_attributes.
This works using your models, as described, and this subsequent before_update callback:
before_update :list_childrens_names def list_childrens_names children.each{|child| puts child.name} end
these commands in the console:
Parent.create # => Parent(id => 1) Parent.update(1, :childrens_attributes => [{:name => "Jimmy"}, {:name => "Julie"}])
output this conclusion:
Jimmy Julie
source share