[英]ruby-on-rails: update_attributes overrides model validations?
[英]Ruby on rails attributes validations, methods in model
我有 model 项目并验证:
validates_presence_of :name, :position, :tel
Project还有另外一个属性,比如:flag。 我想这样做:如果您输入:name,:position,:tel,则:flag = true,如果未指定这些属性之一,则:flag = false。
我怎样才能做到,在哪里? 在 model 中?
声明验证的方式,model 甚至不会保存,除非用户输入所有三个,因此将标志设置为 false 没有实际意义。
话虽如此,如果您想在保存时根据其他属性的值设置一个属性,您可以使用回调挂钩之一,例如 before_save。
class Project << ActiveRecord::Base
before_save :set_flag
protected
def set_flag
self.flag = (self.name.blank? || self.position.blank? || self.tel.blank?) ? false : true
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.