ネストされたモデルがあります: リストには多くのサブリストを含めることができます。(ちなみにAncestryを使用しました)
リストを削除すると、それが親の唯一の子である場合 (他の兄弟がいない場合) はキャンセルされるというルールがあります。
ただし、これにより、親リストを削除できなくなりました。例えば:
L1
|-L2
|-L3
|-L4
L3 を削除すると L4 が削除されるため、L3 を削除することはできませんが、L4 は単一の子です。
この削除を行う最善の方法は何ですか? 現在、ネストされた破棄呼び出しにいることを示すステータスはありますか?
オーバーライドする destroy メソッドがあります。
def destroy
if siblings.count == 1
errors.add(:base,'Cannot delete List because it is the only child')
return false
else
super
end
end