用户有余额(user.balance)。
用户可以在游戏上下注(bet.amount)。
我怎样才能阻止用户投注超过余额的投注?
我假设我可以创建一个看起来像这样的验证?
def enough_funds?
@bet.bet_amount > self.current_user.balance
flash[:notice] = "You do not have the available funds for this bet"
end
我还是铁杆的新手,温柔的:)
答案 0 :(得分:1)
你走在正确的轨道上:
class Bet < ActiveRecord::Base
belongs_to :user
validate :funds_suffiency
def funds_sufficiency
errors.add :bet_amount, "is more than your available balance" if bet_amount < user.balance
end
end
如果Bet
的{{1}}小于相关的:bet_amount
可用User
,则错误将添加到:balance
属性,从而使模型实例。