Rails中的条件验证

0 ruby validation ruby-on-rails ruby-on-rails-4

我有一个模特.在某些情况下,我需要验证其所有字段的存在和其他类型的东西,在其他情况下,我需要只验证其中的一些,其他字段可以保持为空.实现这一目标的最佳方法是什么?

Gan*_*war 5

检查一下

validates_presence_of :state, :if => :in_us?

def in_us?
  country == 'US'
end
Run Code Online (Sandbox Code Playgroud)

只有在国家是美国的情况下,它才能验证州的存在.对于其他国家/地区ID不要验证状态.

有关详细信息:http://railscasts.com/episodes/41-conditional-validations