Ruby on rails 4 如何对rails中的地址字段进行组验证

Ruby on rails 4 如何对rails中的地址字段进行组验证,ruby-on-rails-4,Ruby On Rails 4,我想在模型文件中编写此逻辑: 如果输入了:addr_streetno,则确保还输入了:addr_state、:addr_city和:addr_zip 现在,我所拥有的是这个,但我不需要很容易地输入zipcode即可通过: [:addr_aptno, :addr_zip].each do |n| validates n, numericality: { only_integer: true, :greater_than =&

我想在模型文件中编写此逻辑:

如果输入了:addr_streetno,则确保还输入了:addr_state、:addr_city和:addr_zip

现在,我所拥有的是这个,但我不需要很容易地输入zipcode即可通过:

[:addr_aptno, :addr_zip].each do |n|
    validates n, numericality: { only_integer: true, 
                                :greater_than => 0,
                                :allow_blank => true
                               }

如果
验证
,则可以使用
选项:

validates :addr_state, presence: true, if: :addr_streetno
validates :addr_city, presence: true, if: :addr_streetno
validates :addr_zip, presence: true, if: :addr_streetno
validates :addr_aptno, numericality: { only_integer: true, greater_than: 0 }, allow_blank: true
validates :addr_zip, numericality: { only_integer: true, greater_than: 0 }, allow_blank: true