我通过传递上下文来更新记录:
employee.attributes = employee_params
employee.save(context: :age_related_fields)
我知道在模型中我可以有条件地仅对给定的上下文应用验证
validates :date_of_birth, on: :age_related_fields
但是有没有办法在
:on
中使用否定健康)状况?例如
验证
date_of_birth
当上下文不是 :personal_fields
.
最佳答案
Rails 上有一个被拒绝的拉取请求,供您查找。
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 }
关于ruby-on-rails - Ruby on Rails : validate when context is not given value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52296293/