after_update race condition

Hello,    I have two models. people and organisations they have a many to many relationship between them. I want to be able to create person in an organisation form and vice versa. the forms for them are according to the railscasts episode 75 complex_forms_3. which is as follows

I have a organisation form(that is created dynamically) in the person form

class Organisation < ActiveRecord::Base   has_and_belongs_to_many :people after_update :save_organisations

def save_people   people.each do|p|     if p.should_destroy?       p.destroy     else       p.save(false)     end end end end

class Person < ActiveRecord::Base   has_and_belongs_to_many :organisations after_update :save_people

def save_organisations   organisations.each do|org|     if org.should_destroy?       org.destroy     else       org.save(false)     end   end end end

Now when i create a person or an organisation the process never gets complete. Only when i comment any one of the after_update statements The problem goes away. But in this case I can either create/update an organisation in the person form or a person in an organisation form depending upon which after_update i have disabled.

can anyone tell mne whats going wrong and how do i correct it.

Thank you.