Ruby on Railsを使用して StackOverflow の質問の改訂履歴と同じシステムを実装する場合、それを達成するために何をする必要がありますか? ユーザーが投稿したコンテンツを他の人が更新できる wiki のように機能するサイトを作成しています。これらの変更の履歴を追跡できるようにする必要がありますが、これを実装する方法に精通していません。
解決:
簡単に言えば、これが機能する方法は、変更を追跡するために追加のテーブルを作成することです。テーブルの各行には、レコードが変更される前に存在していたデータ (または変更されたデータのみ) の「スナップショット」があります。
ほとんどの作業をすでに完了している Ruby Gem がいくつかあります。これは、バージョン管理/リビジョン履歴を扱う gemのリストです。Paper Trailは現在、これを行うための最も人気のある gem のようです。Ryan Bates が RailsCast を記録し、Paper Trail の使用方法の概要を説明しています。