2

したがって、これは間違いだった可能性があります。

私のモデルのordersテーブルには、という名前のフィールドがありますactive。そのブール値であり、デフォルトはtrueです。オンオーダーでは、XYZが発生した場合にfalsebefore_createに設定されるロジックを実行しています。active

ただし、XYZが発生すると、フィールドがfalseとして設定されるだけでなく、レコードが(実際のエラーを提供せずに)すべて一緒に保存されなくなるように見えます。

何か案は?

4

2 に答える 2

10

active = falseフィルターの最後に設定before_createすると、フィルターが返さfalseれてフィルター実行チェーンが停止し、保存が完了しません。

これがあなたのコードに当てはまる場合は、あなたのコードtrueの最後に戻るだけでbefore_create問題ありません。

于 2012-08-26T00:53:29.320 に答える
0

私は同じ問題を抱えており、すべての before_create コールバックの最後に 1==1 または true を挿入する必要があります。コールバックの定義がおかしいようです。

于 2016-04-20T13:21:45.563 に答える