したがって、これは間違いだった可能性があります。
私のモデルのorders
テーブルには、という名前のフィールドがありますactive
。そのブール値であり、デフォルトはtrueです。オンオーダーでは、XYZが発生した場合にfalsebefore_create
に設定されるロジックを実行しています。active
ただし、XYZが発生すると、フィールドがfalseとして設定されるだけでなく、レコードが(実際のエラーを提供せずに)すべて一緒に保存されなくなるように見えます。
何か案は?
したがって、これは間違いだった可能性があります。
私のモデルのorders
テーブルには、という名前のフィールドがありますactive
。そのブール値であり、デフォルトはtrueです。オンオーダーでは、XYZが発生した場合にfalsebefore_create
に設定されるロジックを実行しています。active
ただし、XYZが発生すると、フィールドがfalseとして設定されるだけでなく、レコードが(実際のエラーを提供せずに)すべて一緒に保存されなくなるように見えます。
何か案は?
active = false
フィルターの最後に設定before_create
すると、フィルターが返さfalse
れてフィルター実行チェーンが停止し、保存が完了しません。
これがあなたのコードに当てはまる場合は、あなたのコードtrue
の最後に戻るだけでbefore_create
問題ありません。
私は同じ問題を抱えており、すべての before_create コールバックの最後に 1==1 または true を挿入する必要があります。コールバックの定義がおかしいようです。