Il peut être pratique de faire croire aux communs des mortels que vous supprimez réellement des objets quand ils cliquent sur le bouton de suppression et de ne pourtant pas supprimer ces enregistrements.
Vous pouvez coder ça vous même mais c'est bête ça existe déjà. Paranoia est là pour vous (rails 3 et 4). Il remplace acts_as_paranoid, en moins de code d'après son créateur.
Il suffit de rajouter une colonne deleted_at:datetime à vos classes ActiveRecord ainsi que spécifier acts_as_paranoid dans la classe et ça roule, plutôt que de me lancer dans des explications bancales, voici le lien du gem avec sa documentation :