我有客戶和發票。用戶可以刪除客戶,但不能發票。Rails刪除父級模型,但仍然訪問子女
問題是,當一個客戶被刪除,我可以不再做
invoice.customer.name
因爲客戶是零。
我的畫板上
一些解決方案保存一些信息有關的發票實例的客戶 發票時作出。
不刪除客戶,但用布爾 字段將其隱藏。這樣的客戶實例仍然存在。
我知道這個問題可能會被關閉,因爲答案可能是自以爲是的。 Rails幾乎對所有事情都很有見地。在這個問題上,我從來沒有見過一個意見,所以:
在這種情況下鐵軌的最佳做法是什麼?
(如果你有更好的解決辦法,我想看看它)
+1爲偏執狂,似乎是一個不錯的小寶石,我不知道感謝! –
謝謝。我也有公司班。它has_many:customers,:dependent =>:destroy'。當我在客戶類中使用'acts_as_paranoid'調用刪除公司時,您是否知道偏執狂是如何表現的? –
偏執狂只有140行,所以我會鼓勵你閱讀它來理解它背後的機制,https://github.com/radar/paranoia/blob/master/lib/paranoia.rb,看來Rails會刪除堅定但設置了客戶的deleted_at。 – gmaliar