繁体   English   中英

Ruby on rails 属性验证,model 中的方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM