Ruby on Rails:在上下文未被赋予值时进行验证



>我通过传递上下文来更新记录:

employee.attributes = employee_params
employee.save(context: :age_related_fields)

我知道在模型中,我只能有条件地对给定的上下文应用验证

validates :date_of_birth, on: :age_related_fields

但是有没有办法在:on条件下使用否定呢? 例如

在上下文未:personal_fields时验证date_of_birth

对于您要查找的内容,轨道上有一个被拒绝的拉取请求。

https://github.com/rails/rails/pull/30710

不过,相同的任务也有一个解决方法:

validates :title, presence: true, unless: -> { validation_context == :test }
# or in your case
validates :date_of_birth, unless: -> { validation_context == :age_related_fields }

最新更新