rails - 如何知道rake任务是否正在保存模型?

时间:2013-10-28 18:23:53

标签: ruby-on-rails activerecord mongoid rake

是否可以通过rake任务了解模型是否正在保存/创建/更新?例如,如果模型由rake任务保存,我需要禁用before_save回调。谢谢!

1 个答案:

答案 0 :(得分:3)

如果您想从possibly use this任务中跳过所有验证。

如果您想有条件地运行验证you can use this并在模型上设置一些值,表明应该跳过验证。

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

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

这有点像黑客。

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