1
我發現(在腳本/控制檯noodling左右),如果我添加新項關聯集合,我沒有打電話給foo.reload看到產生的變化:更新嵌套屬性集合後,是否有必要調用ActiveRecord :: Base.reload?
foo.bars
=> []
foo.bars_attributes = [{ :person_id => '288', :task_id => '1237' }]
=> [{ :person_id=>"288", :task_id=>"1237" }]
foo.save
=> true
foo.bars
=> [#<Bar id: 6, person_id: 288, task_id => 1237>]
不俗的表現。但是,當我從集合中刪除一個項目,我有(調用保存後可見DB)調用更改之前foo.reload體現在我的收藏:
foo.bars_attributes = [{ :id => '6', :_delete => '1' }]
= [{ :_delete=>"1", :id=>"6" }]
foo.save
=> true
foo.bars
=> [#<Bar id: 6, person_id: 288, task_id => 1237>]
foo.reload
foo.bars
=> []
這是正常的,還是我在關聯更新中做些微小的錯誤?