Ruby on Railsは:StackOverflowのは、その改訂履歴を実装するように変更を追跡する方法は?

StackOverflow https://stackoverflow.com/questions/3833187

質問

私が使用してStackOverflowの質問改訂履歴と同一のシステムを実装した場合、

Ruby on Railsはを、私はそれを達成するために何をするか必要があるでしょうか?私は、ユーザーがコンテンツが他の人によって更新することができます貢献のwikiのような役割を果たしサイトを作成しています。私はこれらの変更の履歴を追跡できるようにする必要がありますが、私はこれを実装する方法に精通していません。

ソリューション:

一言で言えば、これが機能する方法は、変更を追跡するために、余分なテーブルを作成することです。テーブルの各行は、レコードが変更された前に存在していたデータの「スナップショット」(または変更されたことだけデータ)を持っています。

すでにほとんどの作業を行っているルビー宝石の数があります。ここではバージョン管理/改訂履歴を持つ宝石その取引のリストがあります。これは、現在、これを行うための最も人気のある逸品ですペーパー・トレイルのように見えます。ライアンベイツは提供RailsCastを記録した概要ペーパー・トレイルを使用します。

役に立ちましたか?

解決

エントリを編集する場合は、あなたが(古い)エントリを削除しないでください、あなただけの新しいバージョン番号を持つ新しいエントリを追加します。あなたは、ディスプレイのためのエントリを取得したいときは、最も高いバージョン番号を持つものを選びます。あなたはその改訂履歴を表示するには、エントリを取得したいときは、バージョン番号によってそれらのすべてと並べ替え、それらを選択します。

他のヒント

私は、これは古いです知っているが、これに走る誰もあなたがチェックアウトする必要がありペーパー・トレイル

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top