0
我目前的Cocoon /嵌套窗體工作得很好。 不過,我想改變這種行爲:Rails + Cocoon:更新嵌套資源而不是銷燬它
主要型號:
accepts_nested_attributes_for :varietals, :reject_if => lambda { |a| a[:grape_id].blank? && a[:id].blank? }, allow_destroy: true
刪除品種物體allow_destroy相反的,我想,當它被摧毀更新其狀態字段設置爲0。
可以在這一行調用一個函數來做到這一點?我應該更新品種模型嗎?
喜歡的東西:
varietal.update_attributes(:status => 0)
當一個嵌套的資源被用戶刪除。
謝謝。
編輯:主窗體的編輯後的數據後並嵌套品種的去除,以幫助:
"varietals_attributes"=>{"0"=>{"grape_attributes"=>{"id"=>"168"}, "grape_id"=>"168", "percent"=>"20", "_destroy"=>"1", "id"=>"32709368-3496-47EA-A386-B1CCECA0BAEF"}},
如果我在品種模型中添加一個像before_destroy這樣的回調函數,我可以改變狀態字段,但它會在剛剛破壞對象之後,不是嗎?我編輯了我的消息,發佈了銷燬後更新的數據。 –
如果您刪除'allow_destroy',它不會將對象標記爲銷燬。 – PoloniculMov
我做到了,但我的回調沒有在品種模型中調用(似乎是合乎邏輯的)。 –