2

私はこのクラスを持っています:

class Payment < ActiveRecord::Base

  attr_accessible :amount, :invoice_id

  belongs_to :invoice

  validates :amount, :numericality => { :greater_than => 0, :less_than_or_equal_to => :maximum_amount }, :if => "invoice.present?"

  private

  def maximum_amount
    invoice.total if invoice.present?
  end

end

上記のコードは機能します。paymentしかし、2 人のユーザーが同時に新しいレコードを保存して、請求書の合計を超えないようにするにはどうすればよいでしょうか?

どういうわけかデータベースレベルでこれを行うことは可能ですか?

助けてくれてありがとう。

4

1 に答える 1