我知道它会
autosave: true
根据https://api.rubyonrails.org/classes/ActiveRecord/AutosaveAssociation.html保存关联我知道它会保存像这样构建的关联
book = Book.new(name: 'foo') book.authors.build(name: 'bar') #has_many book.save
或喜欢
book = Book.new(name: 'foo')
book.build_author(name: 'bar') #has_one
book.save
我认为关联在分配或添加时也会被保存
book = Book.new(name: 'foo') book.author = Author.new(name: 'bar') book.save
或者
book = Book.new(name: 'foo')
book.authors << Author.new(name: 'bar')
book.save
但是,我有一个复杂的错误,它涉及到我希望它不会自动保存的东西。因此,我想通过检查book
来进行调试,以验证我认为将要保存的内容实际上会被保存。
TL; 博士;保存关联时检查什么内部状态?我假设一个模型有一个内部实例变量,就像associations_to_save
在创建关联时添加的那样。然后,当模型被保存时,它会遍历这些关联并保存它们。