RoR 3
私はいくつかの詳細を含むユーザーモデルを持っています。そのうちのいくつかは編集可能ですが、承認が必要です。
次のようにモデルを更新するためのベストプラクティスを知りたいと思いました。
- ユーザーが一部のデータを変更し、データが承認のために送信されます
- ユーザーには引き続き古いデータが表示されます。
- モデレーターが変更を承認します。
- ユーザーには新しいデータが表示されます
私の現在の考えは、それを2つのモデルとして分離することです。
- ユーザーモデル
- プロファイルモデル
ユーザーモデルには現在のプロファイルのIDが含まれ、ユーザーがプロファイルを更新すると、新しいプロファイルモデルが追加され、管理者が同じものを承認すると、関連するプロファイルモデルがユーザーモデルにリンクされます。(古いものはその後破壊される可能性があります)。
他のアイデアは
- 1つの属性ごとに2つの属性を設定する(ただし、編集は最小限に抑えられます)
- 編集可能なエントリはすべて文字列であり、表示のみに使用されるため、実際のモデルには、現在の値と未承認の古い値の両方のエスケープされたJSONが含まれます。