関連を保存時に削除する

saveした時に削除したいときは対象のレコードに対して

1
accepts_nested_attributes_for :対象のアソシエーション, allow_destroy: true

で宣言してから、

1
2
parent.childs.first.mark_for_destruction # 削除したいレコードに削除のマークをつける
parent.childs.save # => childsのfirstのものか削除される。

で削除される。
ちなみにsave時にこれを削除してねってマークしたかは

1
parent.childs.first.marked_for_destruction? # => true

で確認できる。

Comments