2

私は怒鳴るようにモデル顧客の支払いを持っています,

class Customerpayment < ActiveRecord::Base
#validation
  validates :amount ,   numericality: { greater_than_or_equal_to: 0 }
  validates :amount ,   presence: true
  validates :date   ,   presence: true


  validates_each :amount do |record, attr, value|
    record.errors.add(attr, I18n.t(:invalid_paid)) if !valid_paid_amount(record , value) 
  end
end

-問題は、検証 validates_each :amountが以前に機能していて、最後に最初に機能することです。最初validates :amount , presence: trueに機能するように助けてくださいvalidation validates :amount , presence: true

4

1 に答える 1

2

Rails は、1 つが失敗しても、指定したすべての検証を行います。したがって、順序を変更しても、ここでのコードには影響しません。

詳細については、この回答を確認してください

于 2013-10-24T11:24:36.690 に答える