Ruby on rails Rails:如何使update_属性进行验证?

Ruby on rails Rails:如何使update_属性进行验证?,ruby-on-rails,validation,Ruby On Rails,Validation,模型材质有三个属性:attr\u一、attr\u二、attr\u三 内料控制器 def update @material.update_attribute(:attr_one, 'Atom') @material.update_attribute(:attr_two, 'Sublime') end 这将绕过attr_one和attr_two的验证。 我想绕过attr_one的验证,但想对attr_two进行验证。 如何做到这一点 我可以这样做吗 def update @mate

模型材质有三个属性:
attr\u一、attr\u二、attr\u三

内料控制器

def update 
  @material.update_attribute(:attr_one, 'Atom')
  @material.update_attribute(:attr_two, 'Sublime')
end
这将绕过attr_one和attr_two的验证。 我想绕过attr_one的验证,但想对attr_two进行验证。 如何做到这一点

我可以这样做吗

def update 
  @material.update_attribute(:attr_one, 'Atom')
  @material.save(validate: false)
  @material.update_attribute(:attr_two, 'Sublime')
  @material.save(validate: true)
end
将运行验证:

@material.update_attribute(:attr_one, 'Atom')
@material.update(:attr_two: 'Sublime')
我可以这样做吗

@material.update_attribute(:attr_one, 'Atom')
@material.save(validate: false)
@material.update_attribute(:attr_two, 'Sublime')
@material.save(validate: true)

不,在对象上运行
save
没有意义,因为
update\u属性
update
都将保存对象。

问题解决了吗?