Ruby on rails rails—如何知道模型是否由rake任务保存?

Ruby on rails rails—如何知道模型是否由rake任务保存?,ruby-on-rails,activerecord,mongoid,rake,Ruby On Rails,Activerecord,Mongoid,Rake,是否可能知道rake任务是否正在保存/创建/更新模型?例如,如果模型由rake任务保存,我需要禁用before_save回调。谢谢 如果要跳过任务中的所有验证,可以 如果您希望有条件地运行验证,并在模型上设置一些值,以指示应跳过验证 例如,在模型上有一个validate字段,用于存储是否应验证该记录 validates :user_id, presence: true, unless: 'validate == false' 那有点像黑客 如果你问模型中的代码是否有干净的方法知道从哪里调用它…

是否可能知道rake任务是否正在保存/创建/更新模型?例如,如果模型由rake任务保存,我需要禁用before_save回调。谢谢

如果要跳过任务中的所有验证,可以

如果您希望有条件地运行验证,并在模型上设置一些值,以指示应跳过验证

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

validates :user_id, presence: true, unless: 'validate == false'
那有点像黑客


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

如果要跳过任务中的所有验证,可以

如果您希望有条件地运行验证,并在模型上设置一些值,以指示应跳过验证

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

validates :user_id, presence: true, unless: 'validate == false'
那有点像黑客


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

如果要跳过任务中的所有验证,可以

如果您希望有条件地运行验证,并在模型上设置一些值,以指示应跳过验证

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

validates :user_id, presence: true, unless: 'validate == false'
那有点像黑客


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

如果要跳过任务中的所有验证,可以

如果您希望有条件地运行验证,并在模型上设置一些值,以指示应跳过验证

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

validates :user_id, presence: true, unless: 'validate == false'
那有点像黑客


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

谢谢!我还想知道第二种方法:我将只在我的rake任务模型中设置
validate
属性,然后在中检查它是否存在,然后保存并删除它,因为它不需要是持久的。你也可以使用虚拟属性而不是创建DB列。如果它从未访问过您的数据库,您没有理由在以后删除它。当模型保存到DB时,它应该只尝试持久化映射到DB列的属性。谢谢!我还想知道第二种方法:我将只在我的rake任务模型中设置
validate
属性,然后在中检查它是否存在,然后保存并删除它,因为它不需要是持久的。你也可以使用虚拟属性而不是创建DB列。如果它从未访问过您的数据库,您没有理由在以后删除它。当模型保存到DB时,它应该只尝试持久化映射到DB列的属性。谢谢!我还想知道第二种方法:我将只在我的rake任务模型中设置
validate
属性,然后在中检查它是否存在,然后保存并删除它,因为它不需要是持久的。你也可以使用虚拟属性而不是创建DB列。如果它从未访问过您的数据库,您没有理由在以后删除它。当模型保存到DB时,它应该只尝试持久化映射到DB列的属性。谢谢!我还想知道第二种方法:我将只在我的rake任务模型中设置
validate
属性,然后在中检查它是否存在,然后保存并删除它,因为它不需要是持久的。你也可以使用虚拟属性而不是创建DB列。如果它从未访问过您的数据库,您没有理由在以后删除它。当模型保存到DB时,它应该只尝试持久化映射到DB列的属性。