The problems with acts_as_paranoid and generally with Soft Delete of records in Rails


I am about to remove acts_as_paranoid (soft delete gem) from one of our models. It helped us a lot in the the past, but we came to the point were I really could not bend it to the next requirement that we had. If I bend it any further I will probably break it. As tomorrow I will probably sync this with the whole team I tried to summarize in a short article why soft deleting got a little harder to maintain for us and what were some of the issues we were facing with acts_as_paranoid after some time of using it.

I hope this article could be useful if you are thinking about introducing soft delete and a gem like acts_as_paranoid, which is a great gem, but it puts certain limitations and you should consider if you really want them.