0

モデルが rake タスクによって保存/作成/更新されているかどうかを知ることは可能ですか? たとえば、モデルが rake タスクによって保存されている場合、before_save コールバックを無効にする必要があります。ありがとう!

4

1 に答える 1

3

タスクからすべての検証をスキップしたい場合は、これを使用できます。

条件付きで検証を実行する場合は、検証をスキップする必要があることを示す値をモデルに設定することと組み合わせて使用​​できます。

たとえば、validateそのレコードを検証する必要があるかどうかを格納するフィールドをモデルに設定します。

validates :user_id, presence: true, unless: 'validate == false'

それはちょっとしたハックです。

モデル内のコードがどこから呼び出されているかを知るためのクリーンな方法があるかどうかを尋ねている場合...いいえ、私が知っていることではありません。条件付き検証または提供されているいずれかの方法を使用して、特殊なケースの検証をスキップします。

于 2013-10-28T18:30:26.977 に答える