おはようございます、
私がいる現在の状況を回避するための最良の方法を見つけようとしています..次の属性を持つクラスAがありますa、b、c、d
A に対して create が呼び出されると、まず、次のパラメーター a、b、c を持つ A のインスタンスが存在するかどうかを確認します。
データベースをチェックし、必要に応じて作成するために使用している行は次のとおりです。
@foo = A.where(:a => params[:A][:a], :b => params[:A][:b],:c => params[:A][:c]).first_or_create!
クラス A には、a、b、c に対して次の検証があります。
a's length > 3 & < 15
b must be true (checkbox must be checked)
c's length >50 & < 500
ユーザーが空白のフォームを渡すと、上記の行から生成されたエラーが表示されます。コントローラーが検証を満たさないオブジェクト A を作成しようとしたことが原因であると理解しています。
begin rescue end
pre-first_or_create!を使用するか、エラー チェックを行うのが最善の方法です。?