我正在考虑将同一控制器用于联系人的不同页面。但是,新页面也需要电话。
现在,联系人模型具有以下验证条件:
validates :name, email, :interest, presence: true
没有问题。新页面将使用我将设置的默认兴趣。我确实只想在特定页面上要求电话。除了对存在状态进行UI验证之外,我还想在模型中进行实际验证。
那么,有没有一种干净的方法可以验证模型上指向原始点(即页面)的单个属性?
答案 0 :(得分:0)
我认为您需要:on
选项(或验证上下文)。 https://guides.rubyonrails.org/active_record_validations.html#on
您可以执行以下操作:
validates :phone, presence: true, on: :some_conext
然后执行更新属性的操作
if user.save(context: :some_context)
....