📜  paranoia gem - Ruby (1)

📅  最后修改于: 2023-12-03 15:03:31.695000             🧑  作者: Mango

Paranoia Gem - Ruby

Paranoia Gem is a Ruby gem that allows you to easily implement soft deletion in your ActiveRecord models. When you delete a record, it doesn't actually delete the record from the database. It sets a deleted_at timestamp on the record instead. This way, you can easily retrieve deleted records or restore them at a later time.

Installation

To install the Paranoia gem, add it to your Gemfile:

gem 'paranoia'

Then, run bundle install.

Usage

To use the Paranoia gem, simply add acts_as_paranoid to your ActiveRecord model:

class Post < ActiveRecord::Base
  acts_as_paranoid
end

Once you've done this, if you delete a Post record, it won't actually be deleted from the database. Instead, it will set the deleted_at timestamp on the record.

To retrieve deleted Post records, you can use the with_deleted method:

Post.with_deleted.find(1)

This will return the Post record with the given id, including deleted records.

If you want to restore a deleted Post record, you can use the restore method:

deleted_post.restore

This will restore the deleted Post record and set the deleted_at timestamp to nil.

Conclusion

The Paranoia gem is a powerful tool for implementing soft deletion in your Rails application. With just a few lines of code, you can easily retrieve deleted records and restore them at a later time. Give it a try in your app today!