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.