ユーザーに戻るオプションを持たせたいフォームを開発しています。最終的にはすべてのフィールドに入力する必要があります。レコードに「完了」のラベルを付ける前に、適切なモデルレベルのフィールド検証を組み込みたいと思います。私はこれを行うためのいくつかの方法を考えることができます:
2つのテーブルを作成します。1つは「ドラフト」状態のレコード用で、検証ルールが緩い(つまり、レコードを保存するためにフィールドを必ずしも入力する必要はありません)。もう1つは、「」として送信されたレコードを格納するためのテーブルです。完全」、明らかにより厳格な検証ルールを使用します。
「isComplete」というラベルの付いたフィールドを使用して、レコードを格納するテーブルを1つだけ作成し、この値に基づいて、適用する検証ルールを決定します。
オプション#2に傾倒しているのは、作業部分が少ないためです(オプション#1では、レコードの状態を「ドラフト」から「完了」に変更すると、1つのテーブルから削除され、他の)。問題は、Railsでこれをエレガントに行う方法がわからないことです。
最終的に、この問題は以前に解決されたと確信しているので、私の質問は次のとおりです。この状況でのベストプラクティスは何ですか?