用户有余额(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
我还是新手,要温柔:)
用户有余额(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
我还是新手,要温柔:)
你在正确的轨道上:
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
's:bet_amount
小于相关User
的 available :balance
,错误将被添加到:bet_amount
属性中,使模型实例无效。