对于类中的accepts_nested_attributes_for,我有一个:reject_if case,但是如果某个值为0,我还希望能够销毁已创建的对象。
似乎没有:destroy_if选项。是否有一种标准的方法来控制这样的案例?
答案 0 :(得分:2)
我找到了使用before_save的解决方案。这看起来效果很好。
before_save :mark_entries_for_removal
def mark_entries_for_removal
entries.each do |entry|
entry.mark_for_destruction if entry.hours_spent <= 0
end
end
答案 1 :(得分:0)
当设置了属性_destroy
(1或true)时,销毁嵌套模型
解决方案是重载your_nested_model_attributes=
以将_destroy
属性设置为1