【发布时间】:2017-01-06 18:51:21
【问题描述】:
一段时间以来,我的 Rails 应用进行了各种重写,在某些情况下,模型关联不正确。
目前我的User 模型has_many :posts 及其destroy 方法正确地删除了所有依赖的Posts,但有时当事情写得不正确时,这并没有发生。我现在留下了一些由于用户不存在而导致错误的 Post 记录。
手动过滤所有 Post 记录、检查其用户是否实际存在以及如果不销毁该 Post 的最有效方法是什么?
我在想象这样的事情:
Post.all.select{ |post| post.user.nil? }.destroy
但这对于数千条记录来说似乎非常低效。我很想知道做到这一点的最佳方法。谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.2 associations has-many model-associations