私は、サードパーティからさまざまなレールモデルに CSV ファイルを多数インポートすることを含むレール 3 アプリケーションを持っています。重い作業のほとんどを実行するスクリプトをいくつか開発しましたが、今日はモデルに多くの検証を追加して、有効なデータがモデル/テーブルに入ることを確認しました。
また、検証エラーをログに記録して、すべてのデータ処理を把握し、検証エラーをすばやく見つけて修正できるようにしたいと考えています。そのために、次の手順を実行しました。
- 検証エラーを格納する ValidationError モデルを作成しました。
- 最初に new を使用してインスタンスを作成します。
- オブジェクトが構築されたら、valid? を使用します。メソッドと、オブジェクトが有効かどうかを判断する if 条件。オブジェクトが有効な場合は、単純に保存します。オブジェクトが有効でない場合は、検証エラー レコードを作成します。
- エラー メソッドを使用して、ValidationsError インスタンスにデータを入力します。
- 次に、 ValidationError.create(validation_hash[]) を作成します
- ActiveAdmin ダッシュボードに validationError モデルを表示し、検証エントリが作成されたらメールを送信します。
質問: 検証エラーを取得するための提案されたアプローチは合理的ですか? 私が提案するものよりも優れている/好ましいと思われる、他の人が使用したアプローチはありますか? 私がやろうとしていることを達成する宝石や組み込み機能を知っている人はいますか?