`
hideto
  • 浏览: 2652492 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Rails宝典之第四十一式: 有条件的validation

    博客分类:
  • Ruby
阅读更多
默认每次save我们的Model时都会执行validation,但有时候我们希望有一定的条件触发时才执行validation:
# models/user.rb
validates_presence_of :password, :if => :should_validate_password?
validates_presence_of :country, : on => :create
validates_presence_of :state, :if => :in_us?
attr_accessor :updating_password

def in_us?
  country == 'US'
end

def should_validate_password?
  updating_password || new_record?
end

# in controller
@user.updating_password = true
@user.save
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics