Quando o ActiveRecord salvará associações?

1) Eu sei que vai salvar associações quandoautosave: true conformehttp://railsapi.com/doc/rails-v2.3.8/classes/ActiveRecord/AutosaveAssociation.html

2) Eu sei que vai salvar associações que são construídas como

book = Book.new(name: 'foo')
book.authors.build(name: 'bar') #has_many
book.save

ou como

book = Book.new(name: 'foo')
book.build_author(name: 'bar') #has_one
book.save

3) Eu acho que as associações também são salvas quando são atribuídas ou adicionadas

book = Book.new(name: 'foo')
book.author = Author.new(name: 'bar')
book.save

ou

book = Book.new(name: 'foo')
book.authors << Author.new(name: 'bar')
book.save

Mas, eu tenho um bug complicado que envolve algo que não salva automaticamente quando eu esperava. Então, eu quero depurar inspecionandobook para verificar o que eu acho que vai ser salvo realmente será salvo.

TL; DR; Qual estado interno é verificado ao salvar associações? Estou assumindo que um modelo tem uma variável de instância interna comoassociations_to_save que as associações são adicionadas quando são criadas. Então, quando o modelo é salvo, ele passa por essas associações e as salva também.

questionAnswers(2)

yourAnswerToTheQuestion