在一段時間內,我的Rails應用程序進行了各種重寫,並且在某些情況下不正確的模型關聯。查找並銷燬從屬記錄
目前我User
模式has_many :posts
及其destroy
方法正確地刪除所有相關Post
S,但有時當事情被不恰當地寫了這並沒有發生。我現在留下了一些Post記錄,因爲他們的用戶不存在而導致錯誤全部結束。
什麼是手動過濾所有Post記錄,檢查其用戶是否真實存在,並且如果不破壞該Post的最有效方式?
我想象的是這樣的:
Post.all.select{ |post| post.user.nil? }.destroy
但似乎幾千年的記錄令人難以置信的效率低下。我很想知道做到這一點的最佳方法。謝謝!