Rails + Cocoon:更新嵌套资源而不是销毁它

时间:2016-06-14 13:11:33

标签: ruby-on-rails destroy cocoon-gem

我目前的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"}},

1 个答案:

答案 0 :(得分:0)

根据我对茧的记忆,它只是在对象哈希中添加了一个属性_destroy,所以我认为您可以在varietal模型的回调中处理它并删除{{1} }。