データベースに送信されている特定のフィールドの警告を表示するための最適な実装は何でしょうか。
例を挙げると、誰かが有効と見なされるが疑わしいデータを提供しています。そのため、最初は通常の検証エラーであるかのように扱い、ユーザーが実際に入力したいものであることを確認します。この時点で、入力するデータを続行するか変更するかを選択できます。続行することを選択した場合は、ゴーサインが与えられ、次の実行時にその検証をスキップします。
ただし(これは私にはよくわかりませんが)、そのフィールドを疑わしいと見なすことができる別の値に変更した場合は、同じプロセスを実行したいと思います。これらは新しいレコードであり、データベースにすでに永続化されているレコードではないことに注意してください。
そのような偉業は、基本的な条件付き検証で達成できますか?より良いオプションはありますか?
アプリケーションがこの疑わしいデータの処理方法を正確に知っていることを明確にするために、通常のデータとは異なる方法で処理されるため、事前に警告をユーザーに通知したいと思います。
現在、検証は、オブジェクトの有効性を指示する典型的なカスタム検証メソッドです。
validate :some_field_some_rules
def some_field_some_rules
if some_conditions_must_be_true
errors.add(:some_field, "warning message")
end
end