したがって、これは間違いだった可能性があります。
私のモデルの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 を挿入する必要があります。コールバックの定義がおかしいようです。