0

Is it possible to know if a model is being saved/created/updated by a rake task? For example, I need to disable a before_save callback if the model is being saved by a rake task. Thanks!

4

1 回答 1

3

如果您想跳过任务中的所有验证,您可以使用它

如果您想有条件地运行验证,您可以将其与在模型上设置一些表明应该跳过验证的值结合使用。

例如,validate在模型上有一个字段来存储该记录是否应该被验证。

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

这有点骇人听闻。

如果你问模型中的代码是否有一些干净的方法可以知道它是从哪里调用的......不,我不知道。使用条件验证或提供的一种方法来跳过特殊情况的验证。

于 2013-10-28T18:30:26.977 回答