我有这堂课:
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
记录,从而超过发票总数?
是否有可能在数据库级别以某种方式做到这一点?
谢谢你的帮助。