2011-02-07 5 views
0

私のレコード管理アプリケーションでバージョンコントロールを実装するためのレールの方法は何でしょうか?RoR:私のアプリケーション側でバージョン管理機能を作っていますか?

私のシステムでは、ユーザーがレコードを管理することができますし、私は彼らが録音の履歴バージョンを表示できるようにしたいです。私の代わりに録音を更新するので、私は今録音および関連モデル毎回の新しいインスタンスを作成することを知っているユーザー「アップデート」のレコード(各録音has_manyカテゴリー利点を)。 レコードの異なるバージョンがすべて一緒にリンクされていることを確認するにはどうすればよいですか(つまり、レコードAの新しいバージョンとして関連付けられるように新しい更新レコードが作成されます。 )。

私はまだコーディングを開始しているので、これは理論的な考え方です。もし私が何かを見逃してしまったら、私に教えてください。

は良い出発点が変更されたレコードここ

答えて

1

レコードの新しいインスタンスをすべて作成します。ユーザがそれを更新したときに、同じレコードの異なるバージョンをまとめてグループ化して(ある種の隠し値を使用して)コントローラでチェックを実行してレコードを保存するかどうかを確認するか、新しいものを作成します。

最後に更新/作成された最新のレコードを一意のsecondary_idで検索して、各レコードの最新バージョンを取得できます。

0

をありがとう、私の洞察力の2のとおりです。

第一の単純な1:

高いIDを持つレコードを読んだときに、より高いIDを持つレコードを保存します。あなたが過去を知りたいのであれば、IDでフィルタリングしないでください。

(SAPからの部品)第2回:

あなたのレコードがstartTimeの、時間stopTimeで2つの補助フィールドを、持っています。これは、レコードが実際に動作を開始し、動作を停止する時間です。新しいレコードを挿入すると、最後のもののstopTimeを更新し、新しいもののstartTimeと今度は新しい時刻のstopTimeを置き換えます

0

の履歴を保持vestal versions宝石であってもよく、あなたに

+0

私はレコードA、B、Cを持っているので、どうすればAのすべてのバージョンをリンクできますか?ユーザーがレコード名を編集する可能性がありますが、これは技術的には以前のレコードAの新しいバージョンです.Aのすべてのバージョンを関連付けるsecondary_IDを持っていますか?更新中のレコードのIDが取得され、 、新しく作成された(更新された)レコードに? –

+0

@すべてのレコードに同じものを残すためのものがあります。セカンダリIDは素晴らしいでしょう – pastjean

関連する問題